Chinaunix
标题:
php执行sudo的问题(在shell下可以)
[打印本页]
作者:
harvey_tian
时间:
2008-11-11 12:21
标题:
php执行sudo的问题(在shell下可以)
我以apache的身份执行 在shell执行
$ whoami;sudo -l;pwd
可以看到,sudo -l的显示。
如果用php代码
<?php
$output = shell_exec("whoami;sudo -l;pwd");
echo "<pre>${output}</pre>
?>
在页面上只能得到whoami和pwd的结果,sudo没有执行。
我在用visudo在/etc/sudoers中已经添加了apache的权限,在shell下可以执行sudo相关的指令,所以我怀疑是php的某个地方限制了sudo的执行。php的safe_mode是关闭的。
请教还有什么设置会影响php执行sudo。环境是fedora 7, php 5.2.4
作者:
harvey_tian
时间:
2008-11-12 15:01
可能比较难吧!?
作者:
sunceenjoy
时间:
2008-11-14 11:31
sodu写全路径看看
/usr/bin/sudo -l
作者:
harvey_tian
时间:
2008-11-14 13:31
原帖由
sunceenjoy
于 2008-11-14 11:31 发表
sodu写全路径看看
/usr/bin/sudo -l
这样也用了,同样的问题。用exec、system、passthrug等都是同样问题。
作者:
sunceenjoy
时间:
2008-11-14 17:14
突然看出来,你调用出现了问题。既然是用sudo设置用户运行,调用的时候就应该这样
/usr/bin/sudo sudo -l
另外记得要设置成没有密码sudo
作者:
sunceenjoy
时间:
2008-11-14 17:14
sudo sudo -l
这样应该也行.
作者:
ab1136
时间:
2012-07-27 09:47
我跟楼主,遇上同一个问题。
有些命令,只有ROOT可以运行,其它用户可使用SUDO 解决,但是PHP脚本里使用SUDO,sudoers配置文件一定要把#Defaults requiretty 注释,测试时,搞到晕S了。。。。
sudo很强大,可以配置某机器,某人,用某个命令。
希望能帮你
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2