Ошибка PHP passwd - PullRequest
       13

Ошибка PHP passwd

0 голосов
/ 08 апреля 2011

Я делаю это:

$user = 'kevin';
$pass = 'nivek';
shell_exec('echo -e "' . $pass . '\n' . $pass . '" | sudo passwd ' . $user);`

Но когда я выполняю это, я получаю эту ошибку:

Enter new UNIX password: Retype new UNIX password: Sorry, passwords do not match
passwd: Authentication token manipulation error
passwd: password unchanged

Почему?Как я могу решить эту проблему и как я могу скрыть вывод из passwd?

Ответы [ 2 ]

2 голосов
/ 08 апреля 2011

Используйте --stdin для passwd для чтения из стандартного ввода. Затем вы можете передать пароль.

1 голос
/ 08 апреля 2011

Вы можете использовать следующий код:

$user = 'kevin';
$pass = 'nivek';
shell_exec('echo -e "' . $pass . '" | sudo passwd --stdin ' . $user);

Похоже, это работает для меня (хотя тестирование без sudo, вам может понадобиться второй).

Я не уверен, что sudo даже сработает.

...