【发布时间】:2013-12-08 01:24:33
【问题描述】:
我正在尝试向我的主文件夹中的文件授予 apache 权限,以便 php 页面可以将日志数据写入该文件。下面找到我在bash shell 中为完成此任务所做的工作,但我无法弄清楚为什么这不起作用:
[root@myserver logs]# mkdir apachelogs
[root@myserver logs]# touch apachelogs/log.log
[root@myserver logs]# chown -R apache:apache apachelogs
[root@myserver logs]# chown -R apache:apache apachelogs/log.log
[root@myserver logs]# chmod 770 apachelogs
[root@myserver logs]# su apache
bash-4.1$ cd apachelogs
bash: cd: apachelogs: Permission denied
所以我刚刚授予了apache所有权,读,写,执行权限,但是显然apache仍然没有访问该目录的权限,这在我的php脚本运行这行代码时得到了验证:
echo exec(whoami)."\n";
file_put_contents("/home/chilinut/logs/apachelog/log.log","test",FILE_APPEND);
输出是(并不奇怪)
apache
E_WARNING: file_put_contents(/home/chilinut/logs/apachelog/log.log):
failed to open stream: Permission denied
我在这里缺少什么?
我不想给文件夹 777。我宁愿它有类似 644 的东西。我正在使用 CentOS release 6.4 (Final)
感谢阅读!
【问题讨论】:
标签: php apache bash permissions centos