PHP写权限 - FC13

时间:2010-09-24 14:20:40

标签: php apache2 fedora selinux

我最近安装了FC13并尝试在我的PHP代码中编写一种机制,将收集的数据缓存到一个特定的目录中(出于我们的目的,我们称之为/var/www/html/_php_resources/cache).

我将文件复制到/ var / www / html目录,然后对新数据运行chown -R apache:apache /var/www/html/*chmod a+w /var/www/html/_php_resources/cache。目前我只是为了方便使用全局写权限。我稍后会调整权限。

当我尝试使用chmodmkdir PHP函数时,我结束了:

  

警告:chmod():/var/www/html/_include/php/CacheInit.php中的权限被拒绝

  

警告:mkdir():/var/www/html/_include/php/CacheInit.php中的权限被拒绝

现在,当我禁用SELinux时,一切正常。问题是我希望来禁用SELinux并实际设置正确的权限,以便我可以将其移植到有人没有这种显式控制的服务器上。

例如:我的个人站点主机允许我设置目录的读/写权限,但不允许SELinux策略更改。


供参考:

  • uname -r = 2.6.34.7-56.fc13
  • * php -version * = PHP 5.3.3
  • rpm -qa | grep httpd = httpd-2.2.16-1.fc13

有人有任何建议吗?

1 个答案:

答案 0 :(得分:1)

我有同样的问题,试图从PHP的mkdir。谷歌没有那么多信息,但这是我发现的,我想这是正确的解决方案。必须标记apache应该在其中创建目录的目录。

标签应为“httpd_sys_script_rw_t”,我在此处找到了相关信息:http://docs.fedoraproject.org/en-US/Fedora_Core/5/html/SELinux_FAQ/index.html#id672528

以下是如何标记目录:chcon -R -t httpd_sys_script_rw_t <dir> 在这里参考:http://www.centos.org/docs/5/html/Deployment_Guide-en-US/rhlcommon-chapter-0017.html

希望这能帮到那里的人。