介绍
在任何多用户操作系统(如 Linux)中,文件权限都是一项关键的安全特性。它控制着谁可以读取、写入或执行文件,确保用户只能访问他们被授权的数据。理解如何管理这些权限是任何 Linux 用户、开发者或系统管理员的一项基本技能。
在这个 Lab 中,你将获得使用基本命令管理文件权限的实践经验。你将学习如何:
- 使用
touch命令创建一个新文件。 - 使用带数字(八进制)表示法的
chmod命令修改文件权限。 - 使用
chown命令更改文件的所有者和所属组。 - 使用
ls -l命令验证更改。 - 为目录设置标准权限。
完成这个 Lab 后,你将对 Linux 中文件和目录权限的基本原理感到得心应手。
使用 touch /tmp/testfile 命令创建测试文件
在这一步,你将开始创建一个空文件,我们将在 Lab 的其余部分中使用它。在 Linux 中创建空文件的标准命令是 touch。如果文件不存在,此命令会创建它;如果文件已存在,它会更新其修改时间戳。
我们将在 /tmp 目录下创建测试文件,这是临时文件的标准位置。
在你的终端中执行以下命令来创建一个名为 testfile 的文件:
touch /tmp/testfile
如果命令成功执行,它不会产生任何输出。你可以选择使用 ls /tmp/testfile 列出该文件来验证它是否已被创建。
使用 chmod 644 /tmp/testfile 命令设置权限
在这一步,你将学习如何更改刚刚创建的文件的权限。chmod(change mode,更改模式)命令用于此目的。权限可以使用符号表示法或数字(八进制)表示法来设置。在这里,我们将使用数字表示法,这非常常见。
在数字表示法中,权限由一个三位数字表示,分别对应所有者(owner)、所属组(group)和其他用户(other users)。每种权限都有一个值:
4代表读取 (r)2代表写入 (w)1代表执行 (x)
我们将权限设置为 644,这是文件非常常见的设置。这可以翻译为:
- 所有者:
6(4+2) -> 读和写 (rw-) - 所属组:
4-> 只读 (r--) - 其他用户:
4-> 只读 (r--)
现在,运行以下命令将这些权限应用于你的测试文件:
chmod 644 /tmp/testfile
此命令不会产生任何输出。在后续步骤中,我们将验证权限是否已正确应用。
使用 chown root:root /tmp/testfile 命令更改所有者
在这一步,你将更改文件的所有权。chown(change owner,更改所有者)命令用于更改文件所属的用户和/或组。其语法是 chown user:group filename。
将文件的所有者更改为另一个用户(如 root)是一项需要管理员权限的特权操作。你需要使用 sudo 命令来执行 chown,以获得必要的权限。在这个 LabEx 环境中,labex 用户可以使用 sudo 而无需密码。
让我们将 /tmp/testfile 的所有者和所属组更改为 root。执行以下命令:
sudo chown root:root /tmp/testfile
同样,成功的命令不会产生任何输出。此操作确保文件现在由系统的管理用户拥有。
使用 ls -l /tmp/testfile 命令进行验证
在这一步,你将验证到目前为止所做的所有更改。ls -l 命令提供了一种“长列表”格式,显示有关文件的详细信息,包括权限、所有者、所属组、大小和修改日期。
运行以下命令来检查 /tmp/testfile:
ls -l /tmp/testfile
你应该会看到类似以下的输出(日期和时间会有所不同):
-rw-r--r-- 1 root root 0 Oct 22 15:13 /tmp/testfile
我们来解析一下这个输出:
-rw-r--r--: 这是文件的权限。第一个字符-表示它是一个普通文件。rw-显示所有者 (root) 具有读写权限。接下来的r--显示所属组 (root) 只有读取权限。最后的r--显示所有其他用户也只有读取权限。这与你设置的644相匹配。root root: 这显示了文件的所有者和所属组,你已将其更改为root。
你现在已成功创建了一个文件,设置了其权限,并更改了其所有权。
使用 chmod 755 /tmp/testdir 命令保护目录
在这一最后一步,你将设置一个目录的权限。目录权限与文件权限类似,但 execute(执行)位 (x) 有一个特殊含义:它授予进入目录和访问其中文件的能力。
目录常用的安全权限设置是 755。我们来分解一下:
- 所有者 (Owner):
7(4+2+1) -> 读、写和执行 (rwx)。所有者可以列出、创建/删除文件以及进入目录。 - 所属组 (Group):
5(4+1) -> 读和执行 (r-x)。组成员可以列出文件和进入目录,但不能创建或删除文件。 - 其他用户 (Others):
5(4+1) -> 读和执行 (r-x)。其他用户也可以列出文件和进入目录。
在本次实验开始时,系统已为你创建了一个名为 /tmp/testdir 的目录。现在,使用 chmod 命令为其应用 755 权限。
chmod 755 /tmp/testdir
你可以使用 ls -ld /tmp/testdir 来验证更改。-d 标志很重要,它用于列出目录本身的详细信息,而不是其内容。
总结
恭喜你完成了本次实验!你已成功练习了在 Linux 环境中管理文件和目录权限的基本技能。
在本次实验中,你学会了如何:
- 使用
touch创建一个空文件。 - 使用数字(八进制)代码,如文件的
644和目录的755,通过chmod控制访问权限。 - 使用
sudo chown来更改文件的所有者和所属组。 - 使用
ls -l来检查和验证文件权限和所有权。
这些命令是保护文件和维护系统良好组织的关键工具。掌握它们是迈向精通 Linux 的重要一步。



