【问题标题】:File system permissions文件系统权限
【发布时间】:2014-08-28 01:01:18
【问题描述】:

这是一个 cms,我想将服务器上的所有文件设置为 -rw-------

这将使我的网站正常运行吗?或者他们不会互相阅读,例如我有这个:

require_once 'include/checksession.php';

【问题讨论】:

    标签: php file-permissions


    【解决方案1】:

    取决于 PHP 是以您的用户身份运行还是以其他方式(Apache、nobody 等)运行

    如果它以您的用户身份运行(使用 suexec 或类似的东西),那么 nothing else 需要读取 PHP 文件。

    我会将这些设置为 0600,仅授予您的用户读/写访问权限。对于配置文件等内容,设置为 0400(只读)。

    如果您有多个 FTP 用户访问您的文件,那么您还需要允许组读/写访问权限。那么权限将是 0660。

    如果 PHP 以其他用户身份运行并且它不在 chroot 环境中,请更改您的虚拟主机。

    另外,附带说明一下,如果您的 CMS 需要 0777 的任何地方权限(我在看着你,Joomla),请使用不同的 CMS

    【讨论】:

      【解决方案2】:

      首先,您需要了解每个“段”的含义。

      • 三合会所有者可以做什么
      • 三合会小组成员可以做什么
      • 第三个三元组其他用户可以做什么

      您的权限集 (-rw-------) 仅对第一个三元组(文件的所有者)具有权限,该三元组仅具有 readwrite 权限。

      • 读取 读取权限是指用户读取文件内容的能力。
      • 写入 写入权限是指用户写入或修改文件或目录的能力。
      • 执行 执行权限会影响用户执行文件或查看目录内容的能力。

      因此,组的所有者可以读取文件/目录的内容,写入文件/目录,修改文件/目录。

      根据谨慎的文件/目录所有权政策,我这会没问题 - 但我不会指望它。如果 Apache/Nginx/... 没有该文件的所有权,您的应用程序将无法运行。

      说到这里,我想提出几个问题;

      • 为什么要更改服务器上所有文件/目录的权限?
      • 为什么要为每个文件/目录设置全局权限规则,而不是单独设置?
      • 这样做的最终目标是什么?

      我会考虑Jon T's answer

      【讨论】:

        猜你喜欢
        • 2023-03-16
        • 1970-01-01
        • 2012-08-03
        • 1970-01-01
        • 2011-10-29
        • 2019-02-23
        • 1970-01-01
        • 1970-01-01
        • 2019-07-17
        相关资源
        最近更新 更多