Criação de usuario / gerando senha automatica
Publicado por Pablo Alessandro 01/11/2005
[ Hits: 9.796 ]
Esta com problemas para criar usuarios no postfix (usuario local, não estou utilizando banco de dados), resolvi escrever o script para facilitar minha vida.
#!/bin/bash # ##################################################### # # SCRIPT DESENVOLVIDO PARA CRIAÇÃO DE USUARIO # COM NOME E SOBRENOME E COM GERACAO DE SENHA # AUTOMATICA # # AUTOR: PABLO ALESSANDRO PEREIRA # E-MAIL: pabloalessandro@ig.com.br # DATA: 20/06/2005 # #################################################### CONT=0 CONT1=0 if test $UID = 0; then dialog \ --title "Apresentação"\ --backtitle "Criação de usuários webmail." \ --msgbox "Script desenvolvido para facilitar a criação de usuários do servidor de webmail 20/06/2005" 0 0 while [ ${CONT} -eq 0 ]; do CONT=0 CONT1=0 RESULTADO=`dialog --stdout --menu "Selecione ação desejada:" 0 40 5 \ 1 "Criar usuário" \ 2 "Excluir usuário" \ 3 "Editar senha" \ 4 "Sair"` dialog --infobox "Opcao: $RESULTADO" 0 0 if [ ${RESULTADO} = 1 ]; then while [ ${CONT1} -eq 0 ]; do # Recebe o nome do usuario NOME=`dialog --title "Criação de usuário" --stdout --inputbox "Nome do usuario:" 0 0` if [ $? = 1 ]; then CONT1=1 continue elif [ ${NOME} = ]; then dialog --title "Criação de usuário" --msgbox "Informe o nome do usuário" 8 40 continue fi # Recebe o sobrenome do usuario SOBRENOME=`dialog --title "Criação de usuário" --stdout --inputbox "Sobrenome do usuario:" 0 0` if [ $? = 1 ]; then CONT1=1 continue elif [ ${SOBRENOME} = ]; then dialog --title "Criação de usuário" --msgbox "Informe o Sobrenome do usuário" 0 0 continue fi USUARIO="${NOME}.${SOBRENOME}" # Verifica se o usuario existe grep "^$pabloalessandro:" /etc/passwd > /dev/null id $pabloalessandro if [ $? -eq 0 ]; then dialog --title "Criação de usuário" --msgbox "Usuário \" $pabloalessandro \" já existe, altere o nome e/ou sobrenome !!!" 8 40 continue else # Cria o usuario no sistema com o bash falso useradd -s /bin/false $pabloalessandro SENHA=$(mkpasswd -l 4 -d 3 -C 0 -c 1 -s 0 $pabloalessandro) dialog --title "Criação de usuário" --msgbox "Senha: ${SENHA}" 0 0 fi # Verifica se deseja continuar no insersão de usuario dialog --title "Criação de usuário" --yesno "Deseja cadastrar outro usuário?" 0 0 if [ $? = 0 ]; then continue else CONT1=1 fi done # Excluir usuário elif [ ${RESULTADO} = 2 ]; then while [ ${CONT1} -eq 0 ]; do # Recebe o nome do usuario NOME=`dialog --title "Exclusão de usuário" --stdout --inputbox "Nome do usuario:" 0 0` if [ $? = 1 ]; then CONT1=1 continue elif [ ${NOME} = ]; then dialog --title "Exclusão de usuário" --msgbox "Informe o nome do usuário" 8 40 continue fi # Recebe o sobrenome do usuario SOBRENOME=`dialog --title "Exclusão de usuário" --stdout --inputbox "Sobrenome do usuario:" 0 0` if [ $? = 1 ]; then CONT1=1 continue elif [ ${SOBRENOME} = ]; then dialog --title "Exclusão de usuário" --msgbox "Informe o Sobrenome do usuário" 0 0 continue fi USUARIO="${NOME}.${SOBRENOME}" # Verifica se o usuario existe grep "^$pabloalessandro:" /etc/passwd > /dev/null id $pabloalessandro if [ $? -eq 1 ]; then dialog --title "Exclusão de usuário" --msgbox "Usuário \" $pabloalessandro \" não existe, verifique os dados informados e tente novamente" 8 40 continue fi dialog --title "Exclusão de usuário" --yesno "Deseja excluir o diretorio do usuário?" 0 0 if [ $? = 0 ]; then userdel $pabloalessandro -rf dialog --title "Exclusão de usuário" --msgbox "Usuário \" $pabloalessandro \" e diretório excluido com sucesso." 0 0 else userdel $pabloalessandro dialog --title "Exclusão de usuário" --msgbox "Usuário \" $pabloalessandro \" excluido com sucesso." 0 0 fi # Verifica se deseja continuar no insersão de usuario dialog --title "Exclusão de usuário" --yesno "Deseja excluir outro usuário?" 0 0 if [ $? = 0 ]; then continue else CONT1=1 fi done elif [ ${RESULTADO} = 3 ]; then while [ ${CONT1} -eq 0 ]; do # Recebe o nome do usuario NOME=`dialog --title "Alteração de senha" --stdout --inputbox "Nome do usuario:" 0 0` if [ $? = 1 ]; then CONT1=1 continue elif [ ${NOME} = ]; then dialog --title "Alteração de senha" --msgbox "Informe o nome do usuário" 8 40 continue fi # Recebe o sobrenome do usuario SOBRENOME=`dialog --title "Alteração de senha" --stdout --inputbox "Sobrenome do usuario:" 0 0` if [ $? = 1 ]; then CONT1=1 continue elif [ ${SOBRENOME} = ]; then dialog --title "Alteração de senha" --msgbox "Informe o Sobrenome do usuário" 0 0 continue fi USUARIO="${NOME}.${SOBRENOME}" # Verifica se o usuario existe grep "^$pabloalessandro:" /etc/passwd > /dev/null id $pabloalessandro if [ $? -eq 1 ]; then dialog --title "Alteração de senha" --msgbox "Usuário \" $pabloalessandro \" não existe, verifique os dados informados e tente novamente" 8 40 continue else SENHA=$(mkpasswd -l 4 -d 3 -C 0 -c 1 -s 0 $pabloalessandro) dialog --title "Alteração de senha" --msgbox "Senha: ${SENHA}" 0 0 fi # Verifica se deseja continuar no insersão de usuario dialog --title "Alteração de senha" --yesno "Deseja alterar outra senha?" 0 0 if [ $? = 0 ]; then continue else CONT1=1 fi done elif [ ${RESULTADO} = 4 ]; then clear exit 0 else clear exit 0 fi done else dialog --infobox "Para executar o programa é preciso ter direito de administrador(root)." 0 0 fi
Dê utilidade aquelas teclas que não servem pra nada do seu teclado
NetScan - o seu scanner de rede!
gera saída com substituindo coluna por outra (substr)
Backup de vários servidores, diferenciado a rotina pela aplicação
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Jogando com Proton no LInux (0)
Ingress NGINX Controller CVSS base score of 9.8 (4)
Impossível corrigir problemas, você manteve (hold) pacotes quebrados. (2)