Gerenciar usuários com dialog
Publicado por Daniel Miyagi (última atualização em 20/10/2009)
[ Hits: 12.873 ]
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"
Configurando um Servidor de Nomes no CL10 apenas respondendo algumas perguntas...
Script de busca (google em shell)
Agenda de Contatos - Shell Script + MYSQL
Instalador autônomo Zabbix 3.2.1 no CentOS 6
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
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Falha com leitor de digitais no Ubuntu: sugestões? (0)
Problema em SSD ao dar boot LinuxMint LMDE FAYE 64 (1)