passwd命令更改linux pc';通过php脚本的密码显示权限被拒绝


passwd command to change the linux pc's password through php script shows permission denied

我想使用"passwd"命令通过php脚本更改linux pc的密码,但不知何故,这对我来说不起作用,当m在终端中运行相同的命令时,它执行得很好,但当m在浏览器中运行相同的命令时,它会显示"passwd:拒绝权限错误"。

我检查了权限,它们是755,所有权是"wwwrun"。

并且exec()函数在我的php.ini文件中没有被禁用。

请给我解决方案,因为我必须在周一提交这份申请。

这应该有效:

shell_exec("sudo -u root -c 'echo test2 | passwd --stdin testuser'");

并且您的命令不起作用,即仅sudo echo,以及在当前用户凭据下执行管道之后的内容

必须以root身份运行的程序是passwd,而不是echo:

echo mypswabc | sudo -u root passwd --stdin testuser