php 能调用sudo吗?

zuoshoubingliangmm 2009-07-03 03:33:37
小弟想用PHP来做个系统挂载磁盘功能 php登陆linux系统的用户是vpop
大家都知道 mount命令非root用户是不能使用的 所以我使用了sudo 并且
用visuo更改了 相关设置
最后用vpop登陆系统的时候
直接输入 sudo mount /dev/sdb1 /disk 命令
执行成功
可是 我用php却调用不起来
exec("/usr/bin/sudo /bin/mount /dev/sdb1 /disk");
却没有一点反应
请高人指点 用php来实现挂载磁盘 应该怎么实现呀?
...全文
101 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Zijian_Zhang 2009-07-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 zuoshoubingliangmm 的帖子:]
小弟想用PHP来做个系统挂载磁盘功能 php登陆linux系统的用户是vpop
大家都知道 mount命令非root用户是不能使用的 所以我使用了sudo 并且
用visuo更改了 相关设置
最后用vpop登陆系统的时候
直接输入 sudo mount /dev/sdb1 /disk 命令
执行成功
可是 我用php却调用不起来
exec("/usr/bin/sudo /bin/mount /dev/sdb1 /disk");
却没有一点反应
请高人指点 用php来实现挂载磁盘 应该怎么实现呀?
[/Quote]

首先要考虑一下安全问题,呵呵。

最好过滤一下命令。

然后考虑直接给Apache的Root权限,这样更好。
zgycsmb 2009-07-04
  • 打赏
  • 举报
回复
jf
xue08161981 2009-07-04
  • 打赏
  • 举报
回复
支持楼主,关注当中
yctin 2009-07-03
  • 打赏
  • 举报
回复
/etc/sudoers
apache ALL=NOPASSWD: ALL

p.s. 这样是不安全的,最好是设只能sudo mount, umount
# %users ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom

自己研究一下吧
程序猿之殇 2009-07-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zuoshoubingliangmm 的回复:]
运行apache的用户就是vpop他是具有sudo的权限的
echo exec("sudo mount /dev/sdb1 /disk ");
也是没有返回结果的 这个是为什么呀?
[/Quote]
与其费力的让这个用户具有sudo权限,不如直接给root权限好了,反正你也不需要用户输入密码。
zuoshoubingliangmm 2009-07-03
  • 打赏
  • 举报
回复
运行apache的用户就是vpop他是具有sudo的权限的
echo exec("sudo mount /dev/sdb1 /disk ");
也是没有返回结果的 这个是为什么呀?
程序猿之殇 2009-07-03
  • 打赏
  • 举报
回复
看下运行apache的用户有没有,sudo权限
tfxg 2009-07-03
  • 打赏
  • 举报
回复
echo exec("sudo mount /dev/sdb1 /disk ");
查看下返回結果
tfxg 2009-07-03
  • 打赏
  • 举报
回复
exec("sudo mount /dev/sdb1 /disk ");這樣執行沒有問題
有個問題執行sudo時如果需要輸入密碼,php做不到
zkluninfo 2009-07-03
  • 打赏
  • 举报
回复
没搞过 不过还是帮楼主顶下贴 希望高手进来

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧