【问题标题】:PHP Write Permission - FC13PHP 写权限 - FC13
【发布时间】:2010-09-24 14:20:39
【问题描述】:

我最近安装了 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

有人有什么建议吗?

【问题讨论】:

  • /var/www/html/_include 的权限是什么?
  • 是 F13,不是 FC13(我认为从 F7 开始就是这样,因为 Fedora 和核心存储库已经合并)
  • 这可能是世界可写权限。由于该文件夹归 apache 所有,所以 chmod a-w /var/www/html/_php_resources/cachechmod o+w /var/www/html/_php_resources/cache ...还要确保 Apache 确实以“apache”而不是“httpd”运行
  • audit2allow -a 的输出?或者 /var/log/audit/audit.log 的最后几行发生这种情况?

标签: php apache2 fedora selinux


【解决方案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

希望这可以帮助那里的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 2020-05-02
    • 2010-11-22
    • 1970-01-01
    相关资源
    最近更新 更多