Script nao altera senha [RESOLVIDO]

1. Script nao altera senha [RESOLVIDO]

Natalia Belarte
natalia.belarte

(usa Debian)

Enviado em 17/08/2022 - 09:32h

Bom dia! Pessoal, tenho o script abaixo e ele faz tudo contido nele se eu executo manualmente, mas se eu o coloco no cron, o comando de alterar a senha não funciona.

Ou seja, o script no cron roda tudo, vai até o final e envia o e-mail, mas não altera a senha, alguém saberia me informar por quê?

#!/bin/bash

HostName=`hostname`
IpAddr=`hostname -I | awk '{print $1}'`;
hora=`date +%F\ %T`
gerente="Santos Dummont"
setor="Departamento de Aviacao"

remetente="alerta@dummont.com.br"
destinatario="santosdummont@dummont.com.br,aviao1@dummont.com.br,aviao2@dummont.com.br"
servidor="smtp.dummont.com.br:25"
login="alerta@dummont.com.br"
senhaEmail="Santos@1845"
arquivo=/tmp/alteraSenha.txt

senha=qwerty123456

# O Comando autopasswd adiciona senha automaticamente
usermod -p $(openssl passwd -1 $senha) santos

if [ -e /tmp/alteraSenha.txt ];
then
echo ok
else
touch /tmp/alteraSenha.txt;
fi
echo " " > /tmp/alteraSenha.txt

echo Gerente responsavel pelo departamento: $gerente >> /tmp/alteraSenha.txt
echo Departamento/Setor: $setor >> /tmp/alteraSenha.txt
echo Nome do Computador: $HostName >> /tmp/alteraSenha.txt
echo IP do Computador: $IpAddr >> /tmp/alteraSenha.txt
echo Computador encontrado ligado no dia e hora $hora , acesso bloqueado pelo servidor. >> /tmp/alteraSenha.txt
echo "Liberacao sera realizada somente com solicitacao ao TI via email." >> /tmp/alteraSenha.txt

programa=$(dpkg --get-selections | grep -c sendemail)
if [ "$programa" -eq "0" ]; then
apt install sendemail -y
fi

echo " " > /etc/resolve.conf
echo "8.8.8.8" >> /etc/resolve.conf
echo "1.1.1.1" >> /etc/resolve.conf
echo "8.8.4.4" >> /etc/resolve.conf

sendEmail -o tls=no -f $remetente -t $destinatario -u "Computador Ligado - `date +%F\%T` " -o message-file=$arquivo -s $servidor -xu $login -xp $senhaEmail


  


2. Re: Script nao altera senha

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/08/2022 - 15:41h

O script pode melhorar em algumas coisas, sugestão:

Usar o seguinte para criar um arquivo (muito mais rápido que o touch) vazio:
 : > arquivo.txt 


Aqui, `:' é o mesmo que o comando `true' e a redireção da shell na verdade é que vai criar um arquivo vazio.

Sugiro também colocar um `ou sair' no comando do usermod:

usermod -p $(openssl passwd -1 $senha) santos || exit 


Enfim, o comando usermod para modificar senha:

$ usermod -p aaaa usuario                                                       15:36
usermod: Permission denied.
usermod: cannot lock /etc/passwd; try again later.


Somente funciona com sudo. Você tentou rodar o script com sudo ou logado na conta de usuário raiz?



3. Re: Script nao altera senha [RESOLVIDO]

Carlos A. P. Cunha
Carlos_Cunha

(usa Linux Mint)

Enviado em 17/08/2022 - 16:00h

Coloque o caminho absoluto do comando usermod, as vezes a "cron" de perde nisso....
Para ver o caminho faça:


type usermod

# Terá algo assim:
usermod é /usr/sbin/usermod


Coloquei dessa forma (/usr/sbin/usermod) e teste.

#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#



4. Re: Script nao altera senha [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/08/2022 - 16:39h


Como o OP usa DEBIAN, acho que seria infinitamente melhor usar o SystemD para rodar esse script como serviço e timer...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts