我最近安装了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
。现在,为了方便起见,我只是使用全局写权限。稍后我将调整权限。
当我尝试使用chmod
或mkdir
PHP函数时,我最终得到的结果是:
警告: chmod():/var/www/html/_include/php/CacheInit.php中拒绝的权限
或
警告: mkdir():/var/www/html/_include/php/CacheInit.php中拒绝的权限
现在,当我禁用SELinux时,一切都很好。问题是,我更希望而不是禁用SELinux,并实际获得正确设置的权限,以便将其移植到没有这种显式控制的服务器上。
例如:我的个人站点主机允许我设置目录的读/写权限,但不允许更改SELinux策略。
FYI:
有人有什么建议吗?
发布于 2012-05-12 12:49:28
我也遇到了同样的问题,试图从php中获取mkdir。没有多少关于谷歌的信息,但这是我发现的,我想这是正确的解决方案。必须标记apache应该在其中创建目录的dir。
标签应该是"httpd_sys_script_rw_t“,我在这里发现了这个信息:http://docs.fedoraproject.org/en-US/Fedora_Core/5/html/SELinux_FAQ/index.html#id672528
下面是如何标记dir:chcon -R -t httpd_sys_script_rw_t <dir>
引用的地方:http://www.centos.org/docs/5/html/Deployment_Guide-en-US/rhlcommon-chapter-0017.html
希望这对外面的人有帮助。
https://stackoverflow.com/questions/3787958
复制相似问题