Linux+nginx下PHP执行.SH的权限问题

babyboyren 2015-09-07 02:40:35
我的.SH放在根目录下,
用浏览器执行exec('whoami', $r);显示array(1) { [0]=> string(3) "www" },
用ROOT用户登陆执行PHP XXX.PHP显示array(1) { [0]=> string(4) "root" },
用PHP执行shell_exec("xxx.sh");没任何效果,在ROOT用户登陆直接执行没问题,请问这是为什么呢,xxx.sh文件已给777权限,是WWW用户的权限问题吗,怎么修改呢?
(php.ini的disable_functions这个限制已修改,去掉了限制。)
...全文
190 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cqyy725 2015-09-08
  • 打赏
  • 举报
回复
引用 5 楼 babyboyren 的回复:
chown www:www /xxx.sh 这个操作也执行了,没效果,这个是因为WWW用户没权限吗
你看看ls -l 加你的.SH 文件看看属性,看看是不是在所属用户下。你的www是用户名嘛?
babyboyren 2015-09-08
  • 打赏
  • 举报
回复
chown www:www /xxx.sh 这个操作也执行了,没效果,这个是因为WWW用户没权限吗
cqyy725 2015-09-08
  • 打赏
  • 举报
回复
chown user:group xxx.fielname
翔云123456 2015-09-07
  • 打赏
  • 举报
回复
先看看这个脚本的权限 #ls -l XXX
ingpj 2015-09-07
  • 打赏
  • 举报
回复
给借壳程序 suid 来执行sh脚本
ingpj 2015-09-07
  • 打赏
  • 举报
回复
这个理解上来php要么有执行shell的权限,否则无法执行。 你至少还用root执行成功过,我是没有成功执行过需要root权限(包括我把php进程用户都改成root也无果)的程序。 另外shell本身不好控制权限,因为是脚本 所以用php调用权限本质上要的是/bin/bash 的权限 而非xx.sh的文本。 我的方法是用c 借壳执行 给单个sh赋权限。

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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