Criação de usuario / gerando senha automatica
Publicado por Pablo Alessandro 01/11/2005
[ Hits: 9.817 ]
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
diMail - envia e-mail com um front do dialog
Ajuste Dinâmico do Governador de CPU no Linux
Monitorando seus daemon de impressão...
Script de busca (google em shell)
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
O Que Fazer Após Instalar Fedora 42
Debian 12 -- Errata - Correções de segurança
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Meu PC perde o boot de várias distros Linux após ficar desligado (4)
Véi, é sem condição de uso (1)