Gerenciar usuários com dialog
Publicado por Daniel Miyagi (última atualização em 20/10/2009)
[ Hits: 12.628 ]
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"
COMPACTANDO DIRETORIO CRIADO PELO SARG
Instalação completa de servidor de e-mail
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Alguma pessoa pode me ajudar com drriver Core i3 7020u (Debian 12)? (2)
Mikrotik não mostra bytes nem packtes (1)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código [RESOLVID... (4)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta