Criação de usuario / gerando senha automatica
Publicado por Pablo Alessandro 01/11/2005
[ Hits: 10.001 ]
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
Execução remota com SSH e HERE DOCUMENTS descomplicada
Alta disponibilidade de Links com CentOS 6
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Conky, alerta de temperatura alta (10)
Assisti Avatar 3: Fogo e Cinzas (3)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (42)









