跳到主要内容

如何更改文件权限(chmod)

权限在托管您的网站时非常重要。权限决定服务器是否可以写入和编辑您的文件。同时,出于安全考虑,有些文件需要被保护,防止被写入和编辑。
本文讨论以下主题:

  • 如何更改权限 ⤵
  • 这些权限和数字是什么意思? ⤵
  • 这有什么重要的? ⤵
  • 其他格式 ⤵

如何更改权限

您可以通过多种方式更改文件权限。

  • 使用 cPanel 中的文件管理器 ⤵
  • 使用 FTP ⤵
  • 使用 SSH 或脚本 ⤵

使用 cPanel 中的文件管理器

通过 cPanel 中的文件管理器更改权限是简单且基础的方法之一。要更改 cPanel 中某个文件或文件夹的权限,请执行以下操作:

  1. 登录 cPanel。有两种方式访问您的 cPanel。

    • 选项 1 :直接访问您的 cPanel。
    • 选项 2 :通过您的客户门户访问 cPanel。
  2. 登录您的客户门户。

  3. 点击左侧菜单中的 托管
    客户门户 - 托管菜单

  4. 如果您的账户中只有单个托管套餐,请向下滚动至 快速链接 部分。

    如果您的账户中有多个托管套餐,请在托管套餐页面找到您想管理的套餐,然后点击其 管理 按钮。
    托管标签 - 管理按钮

  5. 快速链接 部分,点击 cPanel 按钮。
    托管菜单 - 快速链接 - 启动 cPanel

  6. 在 cPanel 内,点击 文件管理器
    cPanel - 文件管理器

  7. 更改文件权限有多种方式。

    • 选项 1 :定位并选择您想更改权限的文件名,然后点击顶部菜单中的 权限
      Hostgator 文件管理器更改文件权限
    • 选项 2 :右键点击您想更改的文件,然后从选项列表中选择 更改权限
      HostGator cPanel 更改文件权限
    • 选项 3 :双击权限列下的数字,修改权限后点击 保存
      HostGator cPanel 更改文件权限
  8. 勾选复选框以设置正确的权限。

  9. 点击 更改权限
    更改权限

使用 FTP

  1. 启动并连接到 FTP
  2. 定位并右键点击您想更改权限的文件。
    HostGator FTP 右键文件
  3. 选择 文件权限属性属性信息(取决于您的 FTP 客户端)。
    HostGator FTP 文件权限
  4. 设置您想应用的权限。

使用 SSH 或脚本

这可以通过运行 chmod 命令来完成。


这些权限和数字是什么意思?

文件权限决定了您允许做什么,以及谁被允许做什么。
| 所有者 | 组 | 公众
---|---|---|---
读取 | ✔ | ✔ | ✔
写入 | ✔ | ✘ | ✘
执行 | ✔ | ✔ | ✔
这里是三种用户类型。

  • 所有者 :所有者是您——拥有访问 cPanel 或 shell 权限的人。
  • :组是服务器上的其他用户。
  • 公众 :公众是任何来自互联网的访问者(想象成万维网)。

每一行代表对该文件(或文件夹)允许的操作。

  • 读取 表示用户被允许查看文件。
  • 写入 表示用户被允许编辑文件。
  • 执行 表示用户被允许运行文件。

组和公众能够查看您的网站文件非常重要。但有些文件您可能不希望任何人看到。如果您取消勾选组和公众的读取权限,那么该文件将不会在任何人的浏览器中显示(访问者将看到 403 禁止访问错误)。
在文件管理器中,权限用数字表示。我们只关注三位数字,如果看到四位数字,请忽略第一位。因此,0755 与 755 是相同的。
数字代表每种权限的组合。同时,三位数字中的第一位代表所有者权限,第二位代表组权限,第三位代表公众权限。

  • 读取 等于 4。
  • 写入 等于 2。
  • 执行 等于 1。
  • 无权限等于 0。

因此,

  • 具有写入和执行权限但无读取权限的值为 3。
  • 具有读取和执行权限但无写入权限的值为 5。
  • 具有读取和写入权限但无执行权限的值为 6。
  • 具有读取、写入和执行权限的值为 7。

目前,您只需知道,文件权限应始终设置为 644 或 755。(对于大多数文件,是否赋予执行权限无关紧要,您不会看到区别。)
然而,文件夹 必须_始终_是 755
还有一条规则:cgi-bin 文件夹内的所有文件必须拥有 755 权限。
一个常见的担忧是使用 777 权限。HostGator 不允许对处理服务器端的文件(例如 PHP)使用 777 权限。但许多脚本要求您将文件权限更改为 777。
我可以告诉您,755 权限可以代替 777。您不需要对 PHP 文件或文件夹使用 777。


这有什么重要的?

问题在于给组和公众写权限。这允许来自万维网的黑客编辑您的文件。因此,文件权限的最后两位数字绝不应为 2、3、6 或 7。
问题是,当您安装 PHP 脚本时,脚本需要权限编辑文件。传统上,PHP 在服务器上被视为“无名用户”。因此,PHP 被视为任何未知访问者,必须遵守授予公众的权限。
解决此冲突的方法是将 PHP 视为所有者。HostGator 通过实现一种称为 suPHP(或 phpSuExec)的特殊 PHP 安全环境来实现这一点。
通过 suPHP,所有 PHP 脚本都被允许拥有与所有者相同的权限,而外部访问者仍受公众权限限制。因此,755 是完美的权限;它允许 PHP 执行所有操作,而潜在黑客只能读取/查看。


其他格式

权限可以用多种方式表示。您已经见过二维矩阵和三位或四位数字。
但是,如果您喜欢使用 Linux shell(SSH),文件权限将如下所示:

drwxr-xr-x

您可以忽略第一个字符;它表示文件类型,而非权限。接下来,您会看到三个字母,代表所有者的权限。

  • r = 读取
  • w = 写入
  • x = 执行
    • (连字符)= 无权限

所有者通常拥有全部三种权限,表示为 rwx。
接下来的三个字符代表组的权限。最后三个字符代表公众的权限。
注意,组和公众没有写权限。写权限的位置用连字符代替,表示不允许写入:r-x。
以下是一些转换示例。

二维矩阵数字表示Linux 表示
权限 755755 或 0755

推荐! | drwxr-xr-x
权限 644 | 644 或 0644

推荐! | drw-r--r--
权限 700 | 700 或 0700 | drwx------
权限 777 | 777 或 0777

不推荐! | drwxrwxrwx