0700或0711是否足以保护数据库配置文件?

时间:2011-06-11 20:00:58

标签: apache security file-permissions shared-hosting

众所周知,通过共享网络托管,如果“其他人”拥有(阅读)权限,其他用户(网站)文件可能会泄露给他人。

我认为0700或0711权限是保护重要文件包含机密信息的最佳方式(在共享主机中)。

我认为服务器正在使用suPHP或任何类似的模块,以便保持进程的UID与正在访问的文件的所有者相同。

那么你怎么说?

2 个答案:

答案 0 :(得分:1)

你是对的。 700将确保除了所有者之外,没有人可以read/write/execute该文件。这样就足够了!如果要执行,711,否则,700。

但是,如果涉及该文件的某些操作失败,则应考虑711.

编辑: 正如您所提到的,如果它包含连接字符串,您可以安全地假设没有人需要被授予写权限,并为每个人提供执行权限。 所以,511(r_x __x __x)应该这样做。

答案 1 :(得分:1)

只有目录才需要执行权利,如果您的文件是PHP源文件,那么您当然不需要执行权。

0640 2750 分别是文件和目录的良好权利(目录权限中的2使新文件继承目录的用户和组)。

那是文件:

-rw-r-----

目录

drwxr-s---

如果网络服务器正在使用群组权限且FTP或此类用户是所有者,那么这是正确的。使用Suexec等可以根据谁是所有者以及谁是Web阅读器(用户?组?)来调整这些设置,Web阅读器不需要写访问权限,但可能在某些特定目录上,具体取决于应用程序。 / p>

不要忘记文件&目录权限只是共享环境中用户分离的一个点。对于使用每用户 open_basedir 设置的PHP环境,临时文件上传目录以及每用户会话目录是总是一个好主意(可以在每个用户的虚拟主机中定义)。