Gerenciar usuários com dialog
Publicado por Daniel Miyagi (última atualização em 20/10/2009)
[ Hits: 12.887 ]
Menu de adicionar, remover e listar usuários com dialog.
Esse script faz um menu para adicionar, remover e listar usuários totalmente interativo. Para esse script funcionar o pacote "dialog" deve estar instalado.
Não está completo ainda, mas não pretendo terminá-lo pois ele não tem taaannnta utilidade assim. Ele pode ser ajustado e pode ter uma utilidade maior. O importante aqui é conhecer a ferramenta mesmo e futuramente adaptar às suas necessidades.
Espero que seja útil para alguém. Faloww!
#!/bin/bash
while true
do
# 10=tamanho 30=tamanho 3=quantidade de opcoes
OPCFILE="/tmp/.opcmenu"
NOMEUS="/tmp/.nomeus"
SENHA1="/tmp/.senha1"
SENHA2="/tmp/.senha2"
FDELUSER="/tmp/.deluser"
cat /etc/passwd | cut -d: -f1 | nl > /tmp/.usuario_lista
dialog --menu "Escolha uma opção abaixo" 10 30 3 \
"1" "Adicionar usuario" \
"2" "remover usuarios" \
"3" "listar usuarios" 2> $OPCFILE
#O direcionamento do dialog padrao é o 2>!!
case $? in
1)
break ;;
255)
break ;;
esac
listar (){
dialog --textbox /tmp/.usuario_lista 0 0
}
adicionar (){
dialog --inputbox "Digite o nome do novo usuário" 7 40 2> $NOMEUS
USERNAME=`cat $NOMEUS`
dialog --passwordbox "Digite a senha" 0 0 2> $SENHA1
dialog --passwordbox "Digite sua senha novamente" 0 0 2> $SENHA2
PASSWORD=$(cat $SENHA1)
if [ "$(cat $SENHA1)" = "$(cat $SENHA2)" ] ; then
dialog --yesno "confirma a criação do usuario $USERNAME ?" 7 45
case $? in
0)
useradd -m -d /home/$USERNAME -s /bin/bash $USERNAME
#passwd $USERNAME --> esse comando abaixo substitiu o comando passwd e faz com que o script fique 100% dentro do dialog. Não mostra a mensagem para adicionar novamente a senha do usuario criado.!!
echo "$USERNAME:$PASSWORD" | chpasswd
dialog --msgbox "Usuario criado com sucesso !!" 7 50 ;;
esac
else
dialog --msgbox "As senhas não conferem !!" 7 30
fi
}
remover (){
dialog --inputbox " Digite o nome do usuario a ser excluido" 7 50 2> $FDELUSER
DELUSER=$(cat $FDELUSER)
deluser $DELUSER
case $? in
0)
dialog --msgbox "O usuario foi excluido com sucesso! " 5 40 ;;
*)
dialog --msgbox "Nome do usuario incorreto ou inexistente " 5 30 ;;
esac
}
case $(cat $OPCFILE) in
1)
adicionar;;
2)
remover;;
3)
listar;;
esac
done
rm -f /tmp/.usuario_lista
rm -f "$OPCFILE"
rm -f "$NOMEUS"
rm -f "$SENHA1"
rm -f "$SENHA2"
rm -f "$FDELUSER"
CBQU - Utilitário para controle de banda de forma fácil e interativa
iptables geral com roteamento de portas
Usando netstat para verificar conexões e portas
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Instalação dualboot Windows 11 e Debian 13 (0)
Programa fora de escala na tela do pc (33)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









