--- Em [email protected], "Cristiano Ferrari"
<[EMAIL PROTECTED]> escreveu
>
> 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?
>


Opa... "me auto respondendo-me a mim próprio", o são google resolveu.

for i in 1 2
do echo $SENHA
sleep 1
done | passwd usuario

Créditos:
http://www.mail-archive.com/[EMAIL PROTECTED]/msg73729.html

Como diz o velho deitado: "se não há uma solução simples para o
problema, não há solução".

Se alguém tiver alguma idéia diferente, posta para ilustrar.




Responder a