了解文件权限:“Chmod 777”是什么意思?

如果您是 Linux 用户或管理 Linux 服务器的系统管理员,您会遇到“您没有将文件上传到文件夹的权限”错误。 经过一番谷歌搜索,解决方案通常很简单,只需将文件权限设置为“775”或“777”。 用技术术语来说,您将被要求“chmod 777 该文件”。 但是“777”是什么意思? 为什么它必须是“7”而不是“8”或“9”?

在这篇文章中,我们将向您展示如何更好地理解文件权限,包括 chmod 777 的含义。

了解文件权限

Unix 系统(包括 Linux 和 macOS)有一个文件控制机制,它决定了谁可以访问特定的文件或文件夹以及他们可以用它做什么。

有两个部分需要考虑:

上课。 这决定了谁可以访问该文件。 共有三个名称:所有者、组(他们都共享相同的权限)和其他。

  • 所有者通常是文件或文件夹的创建者。 在 Linux 中,您在主目录中创建的任何文件或文件夹通常归您所有,除非您特别更改所有权。
  • 该组包含一组共享相同权限和用户特权的用户。
  • 其他是指普通大众。

权限。 这些决定了用户可以对文件做什么。 您可以读取、写入或执行文件,并且几乎可以设置这三种权限的任意组合。

  • 读。 您不能以任何方式修改文件的内容。 应用于文件夹时,您只能查看该文件夹中的文件; 您不能以任何方式删除或修改文件或向文件夹添加更多文件。
  • 写。 您可以修改文件。 如果您对文件夹具有“写入”权限,则可以删除文件并将其添加到该文件夹​​。
  • 执行。 Execute 主要用于需要运行文件时,最常用于需要运行脚本时。
“访问”下拉菜单显示当前文件权限。

通过将类与权限结合使用,您可以控制谁有权访问文件以及他们可以执行的操作。

文件所有者通常拥有对他们可用的所有三种权限(读取、写入和执行)。 如果您无法将文件上传到服务器,通常是因为权限不匹配。

解释文件权限 777

一旦你对类和权限有了基​​本的了解,你就可以开始理解诸如“777”和“775”之类的数字了。

每个文件和文件夹都包含控制权限的 8 位数据。 在其基本二进制形式中,000 表示不授予任何形式的权限。

当您设置“读取”权限时,它会向数据添加 4 位,使其成为“100”(二进制格式)或通常十进制格式的“4”。 设置“写入”权限将在数据中添加 2 位,使其成为十进制形式的“010”和“2”。 最后,设置“执行”权限会为数据添加 1 位,这将导致“001”或十进制形式的“1”。 简而言之:

  • 读相当于“4”。
  • 写相当于“2”。
  • 执行相当于“1”。

简而言之,设置权限是基本的数学。 为了 example,要设置“读写”权限,我们将 4 和 2 组合为 6。当然,还有其他排列:

  • 0: 没有权限
  • 1: 执行
  • 2:
  • 3: 编写和执行
  • 4:
  • 5: 读取和执行
  • 6: 读和写
  • 7: 读取、写入和执行

一套完整的文件权限将第一位分配给所有者,第二位分配给组,第三位分配给其他人。 以下是一些常用的权限:

  • 755. Web 服务器通常使用这组权限。 所有者拥有读取、写入和执行的所有权限。 其他人都可以读取和执行,但不能对文件进行更改。
  • 644. 只有所有者可以读写。 其他人只能阅读。 没有人可以执行此文件。
  • 655. 只有所有者可以读写,不能执行文件。 其他人都可以读取和执行,不能修改文件。

对于 777,这意味着每个用户都可以读、写和执行。 因为它授予完全权限,所以应该小心使用。 但是,在某些情况下,您需要先设置 777 权限,然后才能将任何文件上传到服务器。

在命令行中设置文件权限

在 Linux 中,您可以通过右键单击文件或文件夹并选择“属性”来轻松更改文件权限。 这将打开一个权限选项卡,您可以在其中进行更改。

相反,您可以通过右键单击并选择“获取信息”来更改 macOS 上的权限设置。 在这里,您可以展开“共享和权限”部分并进行更改。

获取信息面板,显示权限。

要进行修改,请从“权限”部分中选择相关权限,然后选择更合适的权限。

在 macOS 中为文件设置新的文件权限。

不过,这不是您更改文件权限的唯一方法。 接下来让我们更详细地解释这一点。

使用 chmod 777 更改文件权限

如果您更熟悉终端和命令行,也可以在此处更改权限。

chmod 命令让你“改变模式”——另一种描述访问权限的方式。 为此,请打开终端并键入以下内容:

简而言之, chmod 777 结合了我们在本文中介绍的两个概念。 这意味着使每个有权访问的文件都可读、可写和可执行。 因此,它是一个强大且潜在的系统破坏者——因此应格外小心。

总之

如果设置不正确,文件权限会给您带来障碍。 这是设计使然,因为锁定的系统不会受到损害。 但是,如果您想访问系统或服务器上的文件,学习如何更改某些权限是一项可靠的技能。

简而言之, chmod 777 是您将在终端中使用的命令,以使每个人都可以访问文件或文件夹。 您应该在极少数情况下使用它,并在完成后切换回更具限制性的权限集。

如果您想知道终端还能做什么,请查看我们关于如何从命令行复制和粘贴的帖子。 您是否必须管理文件权限,这篇文章对您有帮助吗? 在下面的评论部分让我们知道!

订阅我们的新闻!

我们最新的教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅