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

时间:2013-02-23 09:25:03

标签: php

我想使用“passwd”命令通过php脚本更改linux pc的密码,但不知怎的,这对我来说不起作用,当在终端中运行相同的命令时它正在执行正常, 但是当m在浏览器中运行相同的命令时,它会显示“passwd:permission denied error”。

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

我的php.ini文件中没有禁用

和exec()函数。

请提供解决方案,因为我必须在星期一提交此申请表。

2 个答案:

答案 0 :(得分:1)

这应该有效:

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

并且您的命令不起作用sudoecho以及管道在当前用户凭据下执行后的内容

答案 1 :(得分:0)

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

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