Apache:0777目录上的权限被拒绝

时间:2015-03-01 11:03:31

标签: php linux apache shell

我有shell脚本,如:

#!/bin/bash
( cd /var/qwebirc; ls .git; )

执行脚本的PHP文件:

error_reporting(E_ALL);
exec("/var/qwebirc/pull.sh 2>&1", $arr);

然后当我直接调用shell脚本时,我得到了我期望的输出(ls of .git)。当我从CLI调用PHP脚本时,我得到了相同的输出。但是当从浏览器调用php脚本时,我得到了

  

ls:无法打开目录.git:Permission denied

好的,显然是apache用户的权限问题。所以我将0777设置为.git及其所有文件(用于测试目的)。 chown和chgrp到apache。更改了脚本:

( cd /var/qwebirc; pwd; whoami; ls -dl .git; ls .git; )

但是浏览器中的输出仍然是:

[0] => /var/qwebirc
[1] => apache
[2] => drwxrwxrwx. 8 apache apache 4096 Mar  1 03:59 .git
[3] => ls: cannot open directory .git: Permission denied

这对我来说没什么意义。知道问题是什么?感谢。

1 个答案:

答案 0 :(得分:0)

所以答案是SELinux。不确定它的策略是如何工作的(现在要深入研究),但是在禁用SELinux后,来自apache的ls开始工作。

相关问题