Bom dia lista.

Alguém sabe como posso alterar a senha de um usuário de maneira não
interativa.

Preciso criar um script que altere a senha de um determinado usuário
de acordo com um algorítimo. 

O script será executado via crontab e calculará o novo valor para a
senha, armazenando em uma variável.

Eu quero passar o valor dessa variável ao comando passwd, mas não consigo.

Já que no man do passwd eu não achei nenhuma opção para indicar modo
não interativo Tentei fazer com o "here document", da seguinte maneira.

#!/bin/bash
SENHA=`/etc/gerasenha.sh`
passwd usuario <<STOP
$SENHA
$SENHA
STOP
echo $?

Mas não dá certo. Recebo a mensagem de senhas diferentes:

Enter new UNIX password: Retype new UNIX password: Sorry, passwords do
not match
passwd : Authentication information cannot be recovered
passwd: password unchanged
10

Alguém sabe como posso fazer isso?



Responder a