Gerenciar usuários com dialog
Publicado por Daniel Miyagi (última atualização em 20/10/2009)
[ Hits: 12.781 ]
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"
FindBackdoor - Detectar possíveis backdoors em arquivos PHP (WordPress)
Fluxbox - Slideshow de wallpapers aleatórios
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Sinto uma leve lentidão ao arrastar, miniminizar e restauras as janela... (0)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (6)
Iinstalar o Scanner Kodak i940 no Linux Mint 19/20? (3)