我想使用"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