Administração de Usuários
Publicado por Messias Manoel da Silva Junior 14/07/2009
[ Hits: 9.203 ]
Permite em modo gráfico ( kdialog ) adicionar usuário, remover usuário, listar usuários,
adicionar um usuário num grupo, listar grupos, adicionar grupos, remover grupos...
O script é todo intuitivo. Espero que gostem.
#!/bin/bash
# Autor: Messias Manoel da Silva Junior
#Script: Gerenciamento de Sistema
#Data: 15/05/2009
#
# ----- Variáveis ----
addusuario=$(which useradd)
delusuario=$(which userdel)
blqusuario=$(which passwd)
addgrupo=$(which addgroup)
remgrupo=$(which groupdel)
addusergrp=$(which gpasswd)
# ---- Tela de Boas vinda
kdialog \
--title " ------------ Seja Bem Vindo ------------ " \
--msgbox "Este script te ajudará nas tarefas de administração do sistema."
while [ 1 = 1 ]; do
# ----- Exibi o menu na tela.
resultado=$(
kdialog --title "- Admin de Usuários" \
--menu " O que você gostaria de fazer? " \
1 "Adicionar usuário" \
2 "Remover usuário" \
3 "Bloquear usuário" \
4 "Desbloquear usuário" \
5 "Adicionar grupo" \
6 "Remover grupo" \
7 "Adicionar usuário ao grupo" \
8 "Verificar usuários existentes" \
9 "Verificar grupos existentes" \
0 "Sair" )
# --- Se for presionado CANCELAR ou ESC, sai do script
[ $? -ne 0 ] && break
case $resultado in
1)
nome=`kdialog --inputbox "Digite o nome do usuário"`
# --- Verifica se o sudo está ativo
souroot=`whoami`
if [ "$souroot" != "root" ];then
kdesudo "$addusuario -d /home/$nome -s /bin/bash $nome"
clear
kdialog --msgbox "Usuário Adicionado com Sucesso"
fi ;;
2)
kdialog --msgbox "Listando a relação de usuários para você:"
awk -F : '$3 > 1000 {print "Login: "$1}' /etc/passwd > /tmp/usuarios.txt
kdialog --title "Lista de Usuários" \
--textbox /tmp/usuarios.txt 290 80
nomedel=`kdialog --inputbox "Digite o nome do usuário que deseja remover:"`
souroot=`whoami`
if [ "$souroot" != "root" ];then
kdesudo "$delusuario -r $nomedel"
fi
if [ $? = 0 ]; then
kdialog --msgbox "Comando invalido."
else
kdialog --msgbox "Usuário "$nomedel" removido com sucesso."
fi ;;
3)
kdialog --msgbox "Listando a relação de usuários para você:"
awk -F : '$3 > 1000 {print "Login: "$1}' /etc/passwd > /tmp/usuarios.txt
kdialog --title "Lista de Usuários" \
--textbox /tmp/usuarios.txt 290 80
nomebloq=`kdialog --inputbox "Digite o nome do usuário que deseaja bloquear:"`
souroot=`whoami`
if [ "$souroot" != "root" ];then
kdesudo "$blqusuario -l $nomebloq"
fi
if [ $? = 0 ]; then
kdialog --msgbox "Comando invalido."
else
kdialog --msgbox "Usuário "$nomebloq" bloqueado com sucesso"
fi ;;
4)
kdialog --msgbox "Listando a relação de usuários para você:"
awk -F : '$3 > 1000 {print "Login: "$1}' /etc/passwd > /tmp/usuarios.txt
kdialog --title "Relação dos Usuários no Sistema" \
--textbox /tmp/usuarios.txt 290 80
nomedesbloq=`kdialog --inputbox "Digite o nome do usuário que deseaja desbloquear:"`
souroot=`whoami`
if [ "$souroot" != "root" ];then
kdesudo "$blqusuario -u $nomedesbloq"
fi
if [ $? = 0 ]; then
kdialog --msgbox "Comando invalido."
else
kdialog --msgbox "Usuário "$nomedesbloq" desbloqueado com sucesso." \
fi ;;
5)
kdialog --msgbox "Listando a relação de grupos para você:"
awk -F : '$3 > 1000 {print"Grupo: " $1 }' /etc/group > /tmp/grupos.txt
kdialog --title "Relação dos Grupos no Sistema" \
--textbox /tmp/grupos.txt 290 80
nomegrupo=`kdialog --inputbox "Digite o nome do grupo que deseaja criar: "`
souroot=`whoami`
if [ "$souroot" != "root" ];then
kdesudo $addgrupo $nomegrupo
fi
if [ $? = 0 ]; then
kdialog --msgbox "Comando invalido."
else
kdialog --msgbox "Grupo "$noegrupo" adicionado com sucesso"
fi ;;
6)
awk -F : '$3 > 1000 {print"Grupo: " $1 }' /etc/group > /tmp/grupos.txt
kdialog --title "Relação dos Grupos no Sistema" \
--textbox /tmp/grupos.txt 290 80
grupo=$`kdialog --msgbox "Digite o nome do grupo que deseja remover: "`
souroot=`whoami`
if [ "$souroot" != "root" ];then
kdesudo "$remgrupo $GROUP"
fi
if [ $? = 0 ]; then
kdialog --msgbox "Comando invalido."
else
kdialog --msgbox "Grupo "$regrupo" removid coom sucesso"
fi ;;
7)
# ---- Lista de usuários --------------
awk -F : '$3 > 1000 {print "Login: "$1}' /etc/passwd > /tmp/usuarios.txt
# --------------------------------------
# ---- Lista de grupos --------------
awk -F : '$3 > 1000 {print" Grupo: "$1 }' /etc/group > /tmp/grupos.txt
# ------------------------------------
# ---- Cocatenando os dois arquivos ---------
paste -d" " /tmp/usuarios.txt /tmp/grupos.txt > /tmp/cocat.txt
# -------------------------------------------
kdialog --title "Lista de usuários e grupos para você:" \
--textbox /tmp/cocat.txt 290 80
usergrupo=`kdialog --inputbox "Digite o nome do usuário existente que deseja adicionar no grupo:"`
grupouser=`kdialog --inputbox "Digite o nome do grupo existente que o usuário deve ser adicionado:"`
souroot=`whoami`
if [ "$souroot" != "root" ];then
kdesudo "$addusergrp -a $usergrupo $grupouser"
fi
if [ $? = 0 ]; then
kdialog --msgbox "Usuário "$usergrupo" adicionado no grupo "$grupouser" com sucesso"
else
kdialog --msgbox "Comando invalido."
fi ;;
8)
awk -F : '$3 > 1000 {print "Login: "$1}' /etc/passwd > /tmp/usuarios.txt
kdialog --title "Relação dos Usuários no Sistema" \
--textbox /tmp/usuarios.txt 290 80 ;;
9)
awk -F : '$3 > 1000 {print"Grupo: " $1 }' /etc/group > /tmp/grupos.txt
kdialog --title "Relação dos Grupos no Sistema" \
--textbox /tmp/grupos.txt 290 80 ;;
0)
break ;;
*)
kdialog -- msgbox "Cancelado" ;;
esac
done
Debian - inicializando VMs (VirtualBox) no boot
FTP Linux-Windows Baseado na Data Atual
Script para iniciar programas instalados no wine
script para travar usuario discado
SlackelsPKG 1.0 - uma réplica de gerenciador de pacotes para o Slackware Current
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Sway no Arch Linux: configuração Inicial sem enrolação
Resolvendo o bloqueio do Módulo Warsaw no Arch Linux (Porta 30900)
Continuando meus tópicos anteriores (0)
Saída de loop após teste de if. (2)
Governo da França vai trocar Windows por Linux (9)
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 [RESOLVIDO] (9)









