我想使用“passwd”命令通过php脚本更改linux pc的密码,但不知怎的,这对我来说不起作用,当在终端中运行相同的命令时它正在执行正常, 但是当m在浏览器中运行相同的命令时,它会显示“passwd:permission denied error”。
我检查了权限,它们是755,所有权是“wwwrun”。
我的php.ini文件中没有禁用和exec()函数。
请提供解决方案,因为我必须在星期一提交此申请表。
答案 0 :(得分:1)
这应该有效:
shell_exec("sudo -u root -c 'echo test2 | passwd --stdin testuser'");
并且您的命令不起作用sudo
仅echo
以及管道在当前用户凭据下执行后的内容
答案 1 :(得分:0)
必须以root身份运行的程序为passwd
而不是echo
:
echo mypswabc | sudo -u root passwd --stdin testuser