Criação de usuario / gerando senha automatica
Publicado por Pablo Alessandro 01/11/2005
[ Hits: 9.851 ]
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
estoque.sh - Gerenciamento de estoque/almoxarifado
Instalar o Java diretamente do site oficial
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)
Gestão de Ambiente em uma rede Linux (2)
Ajuda Pra Melhoria do NFTABLES. (7)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (4)