即使权限为777,文件仍然无法写入

8
有些奇怪的事情正在发生。
httpd.conf 文件显示 Apache 以 apache 用户身份运行。
我已经将文件的所有者更改为 apache:apache。
但是该文件仍然无法写入。
我已经将权限设置为 777 (最后一招,对整个 Web 根目录进行了设置),但是该文件仍然无法写入......
路径是正确的,因为 file_exists() 返回 true,但 is_writeable 返回 false。
有任何想法吗?

1
这是在 Linux 上吗?您是否启用了 SELinux? - Andreas Wong
这是在Linux上吗?你的Web根目录是否在ext2/3/4以外的其他位置? - devsnd
2个回答

15

很有可能你的机器上运行着SELinux。要检查它是否在运行,你可以在命令行上运行getenforce命令来确认。如果它返回"Enforcing",那么SELinux已启用并正在强制执行模式下运行。

我建议,在大多数情况下(除非你想花几天时间学习SELinux),运行setenforce Permissive命令将其禁用,并编辑/etc/sysconfig/selinux文件,以便在下次服务器重启时不再激活它。

如果你确定不需要SELinux,可以直接从服务器中删除相关软件包。


谢谢。我希望昨晚能够放下自尊问这个问题 :/ - guided1
Vamooooooo, te quiero - Mariano Argañaraz

-1

也许你只是vserver上的root用户? 你有自己的服务器还是只有主机> 如果你只有主机(不是整个机器),那么通常你无法运行vmstat或编辑sysctl文件。

第二个选项是SELinux。运行getenforce。如果它返回enforcing,那么你应该运行setneforce Permissive。这将禁用SELinux。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接