1

我创建了一个新的用户名和密码。现在我需要从网页更改用户名和密码。我可以使用 usermod 更改用户名。但我无法使用 passwd 命令更改密码。这里的代码:

shell_exec('(echo "'.$FTPpassword.'";sleep 1; echo "'.$FTPpassword.'") | passwd $FTPUserName');

而不是$FTPUserName,如果我将用户名测试发送为:

shell_exec('(echo "'.$FTPpassword.'";sleep 1; echo "'.$FTPpassword.'") | passwd test');

它正在更新用户“test”的密码。任何人都知道如何使用 shell_exec 更改用户的密码?

问候,
索米亚

4

1 回答 1

0

使用--stdin标志。此选项用于指示 passwd 应该从标准输入中读取新密码,标准输入可以是管道。

shell_exec("echo $FTPpassword | passwd $FTPUserName --stdin");

于 2016-04-12T14:16:41.897 回答