--- 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.
