Linux是一个多用户操作系统,因此多个用户可以同时使用Linux操作同一台计算机。由于Linux是一个多用户操作系统,因此确保属于不同用户的文件的安全和隐私非常重要。
为了实现这一点,Linux 有一个复杂的系统来处理文件和目录权限。通过这种方式,Linux 用户可以控制不同用户对文件的访问以及他们在使用计算机时可以执行的操作。
Linux 用户了解 Linux 如何处理文件和目录权限以及如何操纵各种可用权限来保护文件并确保计算机功能,这一点非常重要。要了解Linux如何管理文件和目录权限,我们首先看看Linux操作系统中不同类别的用户。
Linux 用户类别
第一类用户是文件或目录的所有者。 Linux 中的每个文件或目录都有一个所有者。该所有者通常对文件或目录具有附加权限。文件的所有者通常由字母u 表示,它代表用户。
在 Linux 上,您可以将多个用户分组并授予他们作为组访问文件的权限。这些被称为组所有者,用字母g表示。
例如,如果您有一个包含书籍推荐的文件,并且您想要为多个用户授予对该文件的类似权限,则一种简单的方法是将用户放入一个组中并向整个组授予权限。
另一类用户称为“其他”,用字母o表示。这些用户不拥有该文件,也不属于任何对该文件具有权限的组。其他代表系统中的其他人。
计算机中的所有用户,即文件所有者、组中的用户和其他用户,都可以使用字母a来指定。
在 Ubuntu Linux 上创建和添加新用户
让我们看看如何在 Ubuntu Linux 中创建和添加新用户。要继续学习本教程,还请创建一个新用户。
1. 打开“设置” ,单击左侧菜单栏中的“用户” ,单击“解锁” ,然后在出现提示时输入密码。您必须单击解锁才能添加新用户。默认情况下,此功能处于锁定状态。

2. 解锁后,您将看到“添加用户”选项。点击它添加新用户

3. 要创建新用户,请输入您的全名和用户名,然后选择立即设置密码以设置密码。此外,确保帐户类型设置为管理员,然后单击“添加”以添加用户。

4. 您应该会看到您创建的新用户帐户,如下所示。

Linux 文件和目录权限
权限是指管理对文件和目录的访问以及不同用户可以对其执行的操作的规则。 Linux 具有三个主要权限类别:
- Read(r) –允许用户查看文件内容并列出目录内容。
- Write(w) – 允许用户修改文件的内容。对于目录,写权限允许用户修改目录的内容,包括创建、删除、重命名和移动目录中的文件和子目录。但是,只有当用户还具有执行权限时,目录的写入权限才有效。
- 执行 (x) –执行权限意味着该文件可以被视为可执行程序。对于目录,执行权限允许用户进入或“cd”到目录。
Linux 中的读、写和执行权限被分配给三类用户。
另请阅读如何在 Linux 上删除文件和目录。
Linux 上的长名单
要查看 Linux 目录中文件的内容,通常运行ls命令。但是,这仅列出可用的文件和目录,不提供任何其他信息。
要显示有关内容的详细信息,您应该使用长列表格式。为此,请运行带-l标志的ls命令。这将授予文件的文件权限、文件所有者和组所有者,如下所示。

在Ubuntu中,默认情况下,如果没有创建组,则组名与文件所有者相同。
要创建组,请使用命令addgroup 。要添加名为 editors 的组,请运行以下命令并在出现提示时输入密码。
sudo addgroup editorsSudo允许您以 root 用户身份运行命令。 root 用户是超级用户,有权进行影响计算机所有用户的更改。
要将用户添加到组,请使用以下语法:
adduser <user> <group>因此,要将 belmont 和 madici 添加到编辑器组,请运行以下命令:
sudo adduser belmont editors sudo adduser madici editors要查看用户所属的组,请运行以下命令:
groups <username>上述命令的结果如下所示。

接下来我们看一下表示文件类型和文件权限的文件属性。一个。
Linux 文件属性

在 Linux 上,文件属性恰好由 10 个字符组成。第一个字符表示文件类型。代表各种文件的一些常见首字母包括:
- d表示目录
- –表示常规文件(如文本文件)
- c表示字符特殊文件。
- l表示符号链接
- b表示块特殊文件
其余 9 个字符用于指示所有者、组所有者和其他用户的权限。九个角色被分成三组。第一组显示所有者的权限,第二组显示组所有者的权限,最后三组显示其他组(计算机中的每个其他用户)的权限。

按类别划分的权限从读取权限开始,写入权限,最后是执行权限。读权限用字母r表示,写权限用字母w表示,执行权限用字母x表示。
–当用户没有某些权限时使用该符号。例如,组所有者rw-表示它具有读取和写入权限,但对该目录 ( d ) 没有执行权限。
使用符号表示法更改文件权限
要更改文件或目录的权限,请使用chmod命令并指定要更改权限的内容。
这可以是由用户字母u表示的文件所有者、由字母g表示的组所有者或由字母o表示的任何其他用户。您还可以使用字母a来定位所有三个类别的用户,这意味着以上所有内容。
接下来指定要进行的更改。使用+ (加号)添加权限。使用– (减号)删除权限。我们提供的最后一件事是使用r、w或x添加权限来表示三个可用权限。
要查看实际效果,请使用以下命令创建一个名为 Books 的目录。
mkdir books输入或“cd”到以下目录:
cd books创建一个名为 ReadingList.txt 的文件。
touch readingList.txt运行以下命令详细列出 books 目录的内容。
ls -l输出应如下所示:

你创建的文件是一个普通文件,用第一个–表示,拥有者和组拥有者的读写权限,其他用户只有读取权限。要授予其他用户对该文件的写权限,请运行以下命令:

chmod o+w readingList.txt要检查其他用户的权限是否已更改,请运行以下命令:
ls -l输出:

请注意,其他用户的文件权限已从r-更改为rw- 。这意味着其他用户有写权限。
要为文件所有者(用户)添加执行权限,请运行以下命令:
chmod u+x readingList.txt要删除组所有者的写入权限,请运行以下命令:
chmod g-w readingList.txt要删除所有用户的读取权限,以便任何人都无法查看该文件,请运行以下命令:
chmod a-r readingList.txt要向文件所有者添加反向读取权限,请运行以下命令:
chmod u+r readingList.txt要向文件的组所有者添加写入和执行权限,请运行以下命令:
chomod g+wx readingList.txt使用八进制表示法修改权限
在 Linux 上,三个可用权限中的每一个都只有两个值。读取权限仅限于r或– ,写入权限仅限于w或– ,执行权限仅限于x或– 。
因此,这些权限可以被认为是打开或关闭,并使用只有两个可能值的二进制数来表示。 1代表 on 或 true 0代表关闭或假。在那里,诸如rw – 之类的权限可以使用二进制数表示为110 。
因此,三个二进制数足以表示给定类别用户的所有权限。例如,所有者、组和其他rwxrw-r–权限可以使用二进制数表示为 111110100。
但是,我们建议使用八进制数字以避免冗长且令人困惑的二进制数字。
八进制数的基数是 8,因此只有 8 个可能的值。每个八进制数字正好映射到三个二进制数字。
因此,像rw-这样的权限可以用二进制表示为110 。 110的八进制相当于 6,因此可以使用 6 来表示 rw-。八进制数字可用于表示所有者、组等的读、写和执行权限,如下所示。

与其写很长的二进制数,不如使用八进制数来表示权限。因此,所有者、组和其他权限都使用一个八进制数来表示,如上图所示。
使用八进制表示法设置权限的优点是您可以一次为所有用户设置权限,这与符号表示法不同,符号表示法一次只能为一个用户设置权限。
但是,使用八进制表示法需要一些时间和练习,然后才能记住每个八进制数解析为什么。也就是说,使用八进制表示法时请始终参考上图。让我们看一些使用八进制表示法更改权限的示例。
要将 readList.txt 的读取、写入和执行权限授予所有用户(包括所有者、组所有者和其他用户),请运行以下命令:

chmod 777 readingList.txt要检查权限是否已更改,请运行以下命令:
ls -l输出:
total 0
-rwxrwxrwx 1 madici madici 0 Sep 6 05:45 readingList.txt 
请注意,所有者、组和其他用户现在拥有对 ReadingList.txt 的读取、写入和执行权限。
要删除组所有者和其他用户的写入权限,请运行以下命令:
chmod 755 readingList.txt要删除所有者或其他用户的执行权限,请运行以下命令:
chmod 654 readingList.txtLinux特殊权限
除了标准的读、写和执行权限之外,Linux 还有三种可应用于文件和目录的特殊权限。这些权限提供了访问控制的高级功能,允许低权限用户以及文件所有者和组所有者以更高权限运行文件和命令。
特别优惠包括:
- 设置用户 ID (SUID) – SUID 权限允许用户以其所有者的权限运行文件或程序,而不是使用运行该文件或程序的用户的权限。当标准用户需要执行需要高权限的任务时,这非常有用。
- 设置组 ID (SGID) – SGID 权限允许用户以文件组所有者的权限(而不是实际组的权限)运行文件。
- 粘滞位 –粘滞位通常是对目录设置的权限,以确保目录中的文件只能由目录的实际所有者、特定文件的所有者或 root 用户删除。
三种特殊权限可以与标准权限(读、写和执行)结合使用。
结论
即使一台计算机没有多个用户,权限也是 Linux 中的一个重要概念。了解权限对于确保 Linux 系统及其功能上存储的数据的控制、安全性和隐私非常重要。因此,请考虑练习您在本文中学到的有关权限的知识,以熟悉它们。
您还可以了解如何在 Windows 上使用 Linux 命令。




![2021 年如何设置 Raspberry Pi Web 服务器 [指南]](https://i0.wp.com/pcmanabu.com/wp-content/uploads/2019/10/web-server-02-309x198.png?w=1200&resize=1200,0&ssl=1)

