Trocando a senha do usuário e enviando-a por email
A informação, cada vez mais, é o bem mais valioso que temos, e pensando no lado da tecnologia, informação é algo muito mais valioso. Nós temos geralmente temos “preguiça” de realizar determinadas tarefas e dependendo da tarefa a ser realizada é desejável que seja automatizada. Já temos milhões de coisas para lembrar e realizar, quanto menos coisas dependerem de nós, humanos, para ter controle, creio eu seja melhor.
Foi pensando nisso que resolvi escrever um script em shell que tem o objetivo de trocar a senha do ou dos servidores de forma automática e enviar a mesma para um determinado email. Quando precisar acessar o servidor, basta acessar o email e pegar a última senha que foi enviada.
Esse script gera uma senha randômica contendo letras e números com quantidades de caracteres configuráveis como outras coisas. O script em si faz apenas isso, a parte de quantas vezes a nova senha gerada será enviada por email, pode ser determinada pelo cron(Um agendador de aplicativos).
Abaixo segue uma imagem contendo uma mensagem que foi enviada com a senha. Todo o assunto que aparece na imagem como o seu conteúdo é editável.

E abaixo segue o email aberto contendo, como exemplo, o usuário “bruna” e sua senha gerada com 17 caracteres.

Clique aqui para baixar o script.
Para configurar o script leia o arquivo leia.txt e o arquivo troca-senha.conf
Arquivo de configuração:
# Email para aonde a senha será enviada EMAIL="seu@email.com" # Assunto da mensagem. ASSUNTO="Senha do Servidor" # Nome ou número da máquina na rede. MAQUINA=$(uname -n) # Nome do usuário USUARIO="usuario" # Diretório que irá armazenar o arquivo de senha DIR="/tmp" # Quantidade de Caracteres que a nova senha terá QUANTC="10" # Formato da data DATA=`date "+%T - %d/%m/%Y"`
Execução do script:
# Chama o arquivo de configuração source /etc/troca-senha.conf # Verifica se o arquivo passwd existe e o remove. [ -e /etc/.passwd.txt ] && rm -f /tmp/.passwd.txt # Gera a nova senha mcookie | cut -c1-$QUANTC | tee -a $DIR/.passwd.txt # Atribui a senha gerada ao usuário espscificado PASSWORD="$(<$DIR/.passwd.txt)" echo $USUARIO:$PASSWORD | chpasswd # Insere o nome do usuário no arquivo de senha echo "Usuário: $USUARIO">>$DIR/.passwd.txt # Envia a senha para o email determinado mpack -s "$ASSUNTO, Máquina: $MAQUINA - $DATA" $DIR/.passwd.txt $EMAIL # Remove vestígios do mpack rm -f /tmp/mpack* # Remove o arquivo da senha criada anteriormente rm -f $DIR/.passwd.txt
Agradecimentos a Luciano Martini pelas dicas em shellscrip.
Muito bom, legal para envio de logs usando o cron.