php fopen无法打开流:权限被拒绝

时间:2011-11-15 14:56:28

标签: php fopen

我在使用php写入文本文件时遇到问题。这可能听起来很简单,但我已将文件所有者和组设置为apache / root,777的权限,我仍然无法写入文件。我用php 5.3.8运行centos。

====================
New info
====================

semanage fcontext -l | grep httpd | grep rw
/var/lib/drupal(/.*)?                              all files          system_u:object_r:httpd_sys_script_rw_t:s0 
/var/spool/gosa(/.*)?                              all files          system_u:object_r:httpd_sys_script_rw_t:s0 
/var/lib/bugzilla(/.*)?                            all files          system_u:object_r:httpd_bugzilla_script_rw_t:s0 
/var/spool/viewvc(/.*)?                            all files          system_u:object_r:httpd_sys_script_rw_t:s0 

2 个答案:

答案 0 :(得分:5)

要允许目录为r / w,我使用chcon命令将httpd_sys_script_rw_t类型添加到目录及其下的任何内容:

chcon -R -t httpd_sys_script_rw_t <directory>

-R标志使命令递归。

-t标志将文件的扩展属性设置为指定的文件上下文。在这种情况下,httpd文件上下文httpd_sys_script_rw_t在以下时使用:

  

您希望httpd_sys_script_exec_t脚本读取/写入数据,并禁止其他非sys脚本访问。

答案 1 :(得分:0)

httpd_selinux(8)手册页中描述了用于允许HTTPd写入磁盘的适当文件上下文(以及其他操作的布尔值)。