Linux/Apache 网站的理想权限是什么,以启用团队协作但保护某些文件

Linux/Apache 网站的理想权限是什么,以启用团队协作但保护某些文件

我发现很难找到有关 RHEL5 上网站文件夹结构的理想权限的建议。

我希望多个用户能够更改/添加/删除网站文件夹内的文件 - 但某些文件(例如包含数据库密码的文件)需要受到保护,以便团队成员无法对它们执行任何操作(读取/删除)。

我打算创建一个组“www”,将 apache 和所有用户添加到该组,将所有文件和文件夹添加到该组,然后使 db 密码文件归 apache、组 apache 所有 - 但是我发现如果该目录对 www 组具有写权限,那么他们仍然可以删除(并重新创建)密码文件。

唯一的解决方案是将密码文件移到它自己的目录中并删除写权限吗?

答案1

可能有更好的方法来实现这一点,但如果您在 ext2/3 上运行,您可以使用以下命令使文件不可变

# chattr +i file

这意味着该文件不能被修改、删除或重命名,即使是 root 也不行。如果要更改文件,必须先 chattr -i 文件

答案2

从您提到“数据库密码”的事实来看,我假设 apache 配置为从组 www 的成员具有写访问权限的目录中提供某种动态生成的页面。

在这种情况下,无论您将秘密放在哪里,都无法向群组 www 的成员保密。

小组成员只需将恶意脚本上传到服务器,服务器便可读取密码并将其转发给他们(通过电子邮件、ftp、http 等)。

如果用户无法将代码上传到服务器,请输入他们在沙箱中,而不是密码文件中。

相关内容