Aqui vai uma dica para quem precisa alterar a senha de um usuário, mas precisa de uma opção que não seja o passwd.
Eu estava fazendo um script, há um tempo atrás, no qual eu precisava alterar a senha de um usuário, mas não podia ficar confimando 2 ou, às vezes, até 3 vezes (weak password) para definir uma senha com o passwd.
Depois de uma furungada mais a fundo descobri o seguinte: existe um comando no Linux chamado "chpasswd" que, com a ajuda de um echo e de um pipe (|), vai nos ajudar. O comando é simples:
# echo [nome_do_usuario]:[nova_senha] | chpasswd
Por exemplo, se eu quero alterar a senha do usuario "carlinhos" para "metal" eu devo digitar:
[2] Comentário enviado por kikokiller em 08/06/2006 - 14:29h
ola estou com o seguinte problema tentei usar este comando para o php para colocar senha em um usuario criado o codigo que eu coloquei é o seguinte:
$ellogin = $_POST["login"];
$elsenha = $_POST["password"];
$admuser = "sudo useradd $ellogin";
$executar = shell_exec($admuser);
$admpass = "sudo echo $ellogin:$elsenha |chpasswd";
$executar1 = shell_exec($admpass);
enfim quando executo o codigo ele cria o usuario mas nao colocar a senha, se eu digitar no console do linux funciona ele pega o usuario e cria a senha numa boa, mas quando tento pelo navegador nao da certo até os logs de erro eu ja olhei ele coloca como se o codigo tivesse funcionado, mas a senha que bom nada sabe o que pode ser??
log:
un 8 14:28:53 lab3 sudo: www : TTY=unknown ; PWD=/home/rony/public_html ; USER=root ; COMMAND=/usr/sbin/useradd teste
Jun 8 14:28:53 lab3 sudo: www : TTY=unknown ; PWD=/home/rony/public_html ; USER=root ; COMMAND=/bin/echo teste:123456
[5] Comentário enviado por vhprice em 09/06/2006 - 15:42h
P/ KikoKiller ... E ae mew ... blz? cara, o que vc pode fazer para resolver o seu problema eh o seguinte, edite o seu arquivo /etc/sudoers para que o comando tenha permissao de ser executado pelo php...
ex: