Linux 文件权限 – 什么是 Chmod 777 以及如何使用它

如果您是Linux 新用户(new Linux user),您可能在早期的某个时候遇到过Chmod命令。(Chmod)也许有人告诉你“chmod 777”将文件移动到某个文件夹,它成功了!那么 chmod 命令有什么作用,这些数字是什么意思呢?

本文将讨论您需要了解的有关Linux文件权限的所有信息。了解这一点对于理解 chmod 命令和与某些访问级别相对应的数字很重要。无论您使用Ubuntu、Fedora 还是更奇特的Linux 发行版,您都应该了解何时可以使用(Linux distro)CHMOD命令将权限设置为 777,以及何时应该使用不同的设置。

Linux 文件权限如何工作

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

了解用户类(Understanding User Classes)

一个特定的用户和一个组拥有每个文件和目录。这意味着您可以为三类用户(three categories of users)分配特定级别的访问权限。这些用户分类如下:

  • 所有者
  • 团体
  • 其他

通过右键单击任何目录,选择Properties并转到Permissions选项卡,您可以在Ubuntu中直观地看到这些组。

所有者(Owner)是拥有所有权力的人。通常,他们拥有对每个文件和目录的完全访问权限,并且还可以更改其他用户的文件权限。

组由许多用户组成,这些用户对(Group)所有者(Owner)提供的文件或目录具有一定的访问权限。例如,可以将一组用户排除在修改文件之外,同时授予其查看该文件的访问权限。

Others类仅代表不属于其他两个类别的访客用户。默认情况下,他们的访问级别通常受到限制。由所有者(Owner)决定来宾用户可以做什么或不可以做什么。

了解文件权限级别(Understanding File Permission Levels)

作为所有者(Owner),您可以为您的文件和目录分配三个级别的访问权限:

  1. 读取(Read):它使您可以有限地访问文件或目录。您所能做的就是读取文件或查看目录的内容。您不能编辑文件,也不能将任何新文件删除或添加到目录中。
  2. 写入(Write):它允许您读取和编辑文件。如果您将此级别的访问权限分配给目录,您还可以删除或添加文件。
  3. Execute:仅在运行或执行文件时才重要。例如,您不能在没有Execute权限的情况下运行脚本或程序。

通过组合类和权限,您可以控制特定用户对文件或目录的访问权限。

许可符号(Symbols)数字(Numbers)解释

文件权限以数字或符号表示。您可以使用符号和数字来更改文件和目录权限。最简单的方法是使用数字,但您也应该了解符号。那么我们先来看看文件权限背后的符号。

文件权限符号(File Permission Symbols)

如果您在终端中键入以下命令,则可以查看您对某个目录中所有内容的权限:

ls -l

您可以使用cd命令导航到任何目录。如果您是一个完整的初学者,请查看我们关于基本 Linux 命令(basic Linux commands)的文章。

在我们的示例中,该目录包含另外两个目录和一个文件。权限使用 (1+) 9 个符号编写,这些符号可以拆分为三元组以便于理解。让我们检查一下Books目录的第一组权限:

drwxrwxr-x

让我们拆分它以提高可读性:

d rwx rwx rx

第一个符号是d,它代表目录。如果它是一个文件,它也可以是一个短划线符号,如您在Outline.docx文件的第三组权限中所见。

接下来,我们有三组符号。第一组代表 Owner 的权限级别,第二组代表Group类,第三组代表 Others。

每组 3 个符号表示按顺序读取、写入、执行。因此,所有者(Owner)有权读取、写入和执行在测试(Test)目录中找到的所有文件和目录。这是一个视觉表示:

当您看到破折号而不是 r、w 或 x 时,表示权限不存在。

文件许可编号(File Permission Numbers)

文件权限的数字格式很简单。本质上,文件权限代码是三位数字:

  • 第一个用于文件所有者。
  • 第二个代表文件的组。
  • 最后一个数字是给其他人的。

数字范围从 0 到 7,其中:

  • 4 = 阅读。
  • 2 = 写入。
  • 1 = 执行。
  • 0 = 没有权限。

每个类的权限位数是通过将权限的值相加来确定的。换句话说,每个类的每个数字都可以是 4、2、1 和 0 的总和。这是权限的完整列表:

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

例如,644 权限表示文件所有者具有读写权限,而其他两个类只有读取权限。使用数字格式设置权限只需要基本的数学运算。

许可 777

您可能已经猜到了,777 权限为所有三个用户类提供读取、写入和执行权限。换句话说,任何有权访问您的系统的人都可以读取、修改和执行文件。仅当您信任所有用户并且无需担心安全漏洞时才使用它。

Permission 777 经常使用,因为它很方便,但您应该谨慎使用它。事实上,我们建议不要使用它,因为安全风险太大。未经授权的用户可能会破坏您的系统,或者例如更改您的网站以分发恶意软件。

您应该改为授予权限 755。这样,您作为文件所有者就可以完全访问某个文件或目录,而其他人可以读取和执行,但未经您的批准不得进行任何修改。

使用Chmod(Chmod)修改文件(File)权限

您可以在 chmod 命令的帮助下更改文件权限。在没有任何其他变量的情况下使用此命令的最基本方法如下:

chmod 777 文件名(chmod 777 filename)

将“(Replace “) filename”替换为文件名及其路径。

请记住,唯一有权更改文件权限的用户是具有 root 访问权限的用户、文件所有者以及具有sudo权限的任何其他人。



About the author

在商业和技术方面,Windows 10 和 Windows 11/10 是非常重要的工具。它们使您可以比以往更轻松、更安全地与计算机交互,并运行功能强大但可自定义的应用程序,而不会带来任何安全风险。这些工具对于希望能够扩大其在线业务并吸引新客户的企业来说也是必不可少的。因此,我会说我在 Windows 10 和 Windows 11/10 方面的技能使我成为此类工作或业务的理想人选。



Related posts