我正在使用 RHEL 8,遇到了一个疯狂的问题。我的用户帐户无法打开 PHP 文件。
如果我有一个文件,该文件由我的用户拥有,并且我的用户可以读取,并且我将其添加<?php
为第一行,那么我突然无法打开、编辑或查看该文件,即使我没有更改我的权限。 它告诉我: cat: test.txt: Operation not permitted
如果我使用查看文件file
,我会看到文件被报告为,PHP Script
只要我添加上面的行。
这似乎不是一个 SELinux 问题,因为它setenforce 0
不会改变行为,也audit2allow
不会看到任何东西。
所有脚本文件都有可能发生这种情况,但在此服务器上,我只需要使用 PHP 脚本。救命!
答案1
我终于找到了答案。
作为对我们网络托管服务器进行安全审计的一部分,审计员向管理员建议我们在服务器上遵循 STIG 和 NIST 合规标准。我们不需要严格遵循这些标准,但它们是强化机器的备受推崇的最佳实践,因此这似乎是一个值得追求的目标。
在标准测试过程中,没有发现任何问题,并且该标准已部署到服务器上。
事实证明,fapolicyd
它是作为这些标准的一部分安装的,其默认策略之一是阻止用户访问程序文件。这不会影响 Web 应用程序,但只会影响用户对这些文件的编辑。
禁用fapolicyd
服务允许用户编辑文件。根据需要,可以添加策略以始终允许此访问。