免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3107 | 回复: 6
打印 上一主题 下一主题

php执行sudo的问题(在shell下可以) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-11 12:21 |只看该作者 |倒序浏览
我以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

论坛徽章:
0
2 [报告]
发表于 2008-11-12 15:01 |只看该作者
可能比较难吧!?

论坛徽章:
0
3 [报告]
发表于 2008-11-14 11:31 |只看该作者
sodu写全路径看看

/usr/bin/sudo -l

论坛徽章:
0
4 [报告]
发表于 2008-11-14 13:31 |只看该作者
原帖由 sunceenjoy 于 2008-11-14 11:31 发表
sodu写全路径看看

/usr/bin/sudo -l

这样也用了,同样的问题。用exec、system、passthrug等都是同样问题。

论坛徽章:
0
5 [报告]
发表于 2008-11-14 17:14 |只看该作者
突然看出来,你调用出现了问题。既然是用sudo设置用户运行,调用的时候就应该这样
/usr/bin/sudo sudo -l
另外记得要设置成没有密码sudo

论坛徽章:
0
6 [报告]
发表于 2008-11-14 17:14 |只看该作者
sudo sudo -l
这样应该也行.

论坛徽章:
0
7 [报告]
发表于 2012-07-27 09:47 |只看该作者
我跟楼主,遇上同一个问题。
有些命令,只有ROOT可以运行,其它用户可使用SUDO 解决,但是PHP脚本里使用SUDO,sudoers配置文件一定要把#Defaults    requiretty 注释,测试时,搞到晕S了。。。。
sudo很强大,可以配置某机器,某人,用某个命令。
希望能帮你
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP