Chmod 777 Ubuntu

17 Mar 2025 | 6 分钟阅读

如果我们不熟悉 Linux,我们可能会遇到 chmod 命令。在本文中,我们将解释关于 Linux 文件权限我们需要知道的一切。理解这个命令以及与不同访问级别相关的数字非常重要。无论我们使用 Fedora、Ubuntu 还是更小众的 Linux 发行版,我们都应该知道何时可以使用 CHMOD 命令将权限设置为 777,以及何时应该使用其他设置。

Linux 文件权限的工作原理

操作系统根据属性、所有权和 Linux 文件权限来决定谁可以访问文件。系统允许我们(管理员或所有者)对各种目录和文件启用访问限制。通过仅向我们信任的程序和用户提供访问权限,我们可以提高系统的安全性。

什么是用户类别?

某个用户或组拥有所有单个目录和文件。这意味着我们可以将特定的访问级别分配给三类不同的用户。这些用户细分如下:

Chmod 777 Ubuntu
  • 群组
  • 所有者
  • 其他

我们可以在 Ubuntu 中通过右键单击目录、选择“属性”并访问“权限”选项卡来直观地找到这些组。所有者是可以访问一切的人。他们通常对所有目录和文件拥有完全访问权限,并且还可以修改其他用户的文件权限。此组由几个用户组成,他们拥有所有者提供的对目录或文件的访问级别。例如,用户组可能被禁止修改文件,但可以读取该文件。

其他类别仅代表不属于另外两类别的访客用户。他们的访问级别默认受限制。具体访客用户可以做什么或不能做什么取决于所有者。

文件权限的级别是什么?

作为所有者,我们可以为我们的目录和文件分配三种不同的访问级别:

Chmod 777 Ubuntu
  • 读取(Read):它提供对目录或文件的有限访问。我们只能读取文件或查看目录的内容。我们无法编辑、删除或向该目录添加新文件。
  • 写入(Write):它允许我们编辑和读取文件。如果我们将此访问级别分配给目录,我们还可以添加或删除文件。
  • 执行(Execute):仅在执行或运行文件时才重要。例如,没有执行权限,我们就无法运行程序或脚本。

注意:我们可以通过结合使用权限和类别来管理特定用户对目录或文件的访问量。

权限数字和符号

文件权限可以通过符号或数字表示。我们可以使用数字和符号来更改目录和文件权限。最简单的方法是使用数字,但我们也应该了解符号。所以,让我们来理解符号。

文件权限符号

如果我们输入以下命令并在终端窗口中运行,我们可以查看目录中所有内容的权限。

我们可以使用 `cd` 命令来管理任何目录。

文件权限数字

对于文件权限,数字格式很简单。实际上,我们通常会发现 chmod 数字以三位数字表示,例如 777 或 762。这是因为 Linux 中的所有文件夹和文件都有三个相关权限。

文件权限的代码包含三个数字,如下所示:

  • 第一个数字分配给所有者。
  • 第二个数字代表文件的组。
  • 最后一个数字表示所有人。

因此,如果我们发现文件夹被允许 762 权限,这意味着创建该文件夹的用户拥有完全控制权,该用户所属组的成员拥有写入和读取权限,而其他人仅拥有读取访问权限。这是常用于上传任何 Web 服务器(如 Nginx)文件夹的权限。

使用 762 数字假定 chmod 权限的另一种方式

  • 未经授权的用户可以访问 Web 服务器提供给他们的文件。如果他们没有读取权限,网页将无法加载。尽管如此,未经授权的用户不能上传文件。
  • 创建文件夹的用户拥有完全控制权,可以上传新文件、删除文件、读取文件,甚至运行脚本。
  • 与文件夹所有者所属组相关的用户只有写入权限。他们可以 FTP 文件到服务器并查看他们对网站所做的修改。

数字在 0-7 之间,其中:

  • 4 = 读取
  • 2 = 写入
  • 1 = 执行
  • 0 = 无权限

所有类别的权限数字通过将权限值相加来决定。换句话说,所有类别的所有数字可以是 4、2、1 和 0 的值。这是完整的权限列表:

  • 0 (0 + 0 + 0) = 用户类别没有权限。
  • 1 (0 + 0 + 1) = 仅执行权限。
  • 2 (0 + 2 + 0) = 仅写入权限。
  • 3 (0 + 2 + 1) = 执行和写入权限。
  • 4 (4 + 0 + 0) = 仅读取权限。
  • 5 (4 + 0 + 1) = 执行和读取权限。
  • 6 (4 + 0 + 2) = 写入和读取权限。
  • 7 (4 + 2 + 1) = 所有权限。

例如, 644 权限表示文件所有者拥有写入和读取权限。然而,其他两个类别只有读取权限。我们只需要进行基本的数学运算就可以用数字格式设置权限。

权限 777

777 权限为所有三个用户类别提供了执行、写入和读取权限。换句话说,能够访问我们系统的每个人都可以执行、读取和更改文件。只有在我们信任所有用户并且不需要担心安全漏洞时才使用它。之所以使用 777 权限,是因为它很方便,但我们应该谨慎使用。事实上,我们建议永远不要使用它,因为安全风险太高了。

例如,一个用户(未经授权)可能会破坏我们的系统或更改我们的网站以传播恶意软件。我们应该改用 755 权限。这样,我们作为文件所有者对目录或文件拥有完全访问权限,而其他人可以执行和读取,而不能在我们批准的情况下进行更改。

Chmod 数字的工作原理

如果我们使用基于 Unix 的平台,我们需要牢固地了解 chmod 数字的工作原理。例如,我们需要知道 777 是一个危险的权限;664 是 Apache Web 服务器上 HTML 目录的一个不错的模式更改;而 898 的 chmod 数字没有意义。

管理员可以为 Unix 系统中的每个文件夹和文件设置任意三种权限组合:执行 (x)、写入 (w) 和读取 (r)。如果我们查询我们对 Unix 上任何文件的权限,我们可能会看到以下结果之一:

  • rwx
  • rw-
  • r-x
  • r--

Unix 管理员发现,如果所有这三种权限都被赋予一个数值,执行、写入和读取权限的多种组合都可以表示为单个数字。我们应该为执行分配 1 值,为读取分配 4 值,为写入分配 2 值。然后,将用户的权限相加,最终得到一个介于 0 和 7 之间的特定数字。

Chmod 数字示例

以下是一些关于当权限值组合在一起时 chmod 数字如何工作的示例:

  • 仅具有读取权限的用户将获得 4 的权限值。
  • 具有写入和读取权限的用户将获得 6 (4+2) 的权限值。
  • 具有所有三种权限的用户将获得 7 的权限值。

一个应忽略的 chmod 数字

在某些圈子里,777 是一个幸运的组合。但 Unix 管理员会忽略 777 权限数字,因为它甚至允许未经授权的用户运行他们可以看到的文件夹中的程序。这使得我们的服务器容易受到勒索软件、恶意软件和其他恶意攻击向量的侵害。此外,用户执行和编辑他们不应被允许接触的文件也存在风险。

软件集成问题通常难以排除故障,尤其是在用户尝试访问给定资源时,关于授予组和用户的权限存在混淆。新管理员可能会不断地试图将 chmod 数字,即777,分配给目录和每个内容,以规避此权限问题。

不幸的是,如果 777 chmod 数字修改不起作用,管理员可能会尝试其他故障排除操作,而忘记将文件夹恢复到其真实的权限。未能实施这一点不仅会使设备面临风险,还会使设备在合规性或安全审计中暴露。


下一个主题Dev-C++ for Ubuntu