Criação de usuario / gerando senha automatica
Publicado por Pablo Alessandro 01/11/2005
[ Hits: 9.713 ]
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
Verificação e otimização do banco de dados MySQL
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
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
big linux sem audio como resolver (2)
Como faz para dar um update-grub por shell script [RESOLVIDO] (3)
[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