如何更改文件权限(chmod)
权限在托管您的网站时非常重要。权限决定服务器是否可以写入和编辑您的文件。同时,出于安全考虑,有些文件需要被保护,防止被写入和编辑。
本文讨论以下主题:
- 如何更改权限 ⤵
- 这些权限和数字是什么意思? ⤵
- 这有什么重要的? ⤵
- 其他格式 ⤵
如何更改权限
您可以通过多种方式更改文件权限。
- 使用 cPanel 中的文件管理器 ⤵
- 使用 FTP ⤵
- 使用 SSH 或脚本 ⤵
使用 cPanel 中的文件管理器
通过 cPanel 中的文件管理器更改权限是简单且基础的方法之一。要更改 cPanel 中某个文件或文件夹的权限,请执行以下操作:
-
登录 cPanel。有两种方式访问您的 cPanel。
- 选项 1 :直接访问您的 cPanel。
- 选项 2 :通过您的客户门户访问 cPanel。
-
登录您的客户门户。
-
点击左侧菜单中的 托管。

-
如果您的账户中只有单个托管套餐,请向下滚动至 快速链接 部分。
如果您的账户中有多个托管套餐,请在托管套餐页面找到您想管理的套餐,然后点击其 管理 按钮。

-
在 快速链接 部分,点击 cPanel 按钮。

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

-
更改文件权限有多种方式。
- 选项 1 :定位并选择您想更改权限的文件名,然后点击顶部菜单中的 权限。

- 选项 2 :右键点击您想更改的文件,然后从选项列表中选择 更改权限。

- 选项 3 :双击权限列下的数字,修改权限后点击 保存。

- 选项 1 :定位并选择您想更改权限的文件名,然后点击顶部菜单中的 权限。
-
勾选复选框以设置正确的权限。
-
点击 更改权限。

使用 FTP
- 启动并连接到 FTP。
- 定位并右键点击您想更改权限的文件。

- 选择 文件权限、属性 或 属性信息(取决于您的 FTP 客户端)。

- 设置您想应用的权限。
使用 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 表示 |
|---|---|---|
| 755 或 0755 |
推荐! | drwxr-xr-x
| 644 或 0644
推荐! | drw-r--r--
| 700 或 0700 | drwx------
| 777 或 0777
不推荐! | drwxrwxrwx