了解 Linux 权限:chmod 和 chown 之间的区别
如果您刚刚开始了解 Linux 系统上的文件权限,chmod 和 chown 命令将是您授予或撤销用户帐户文件权限的起点。 chmod 和 chown 是完全不同的命令,但在修改 Linux 文件系统上的文件权限时,它们是齐头并进的。基本总结是 chown
可以更改文件的所有者,chmod
可以更改文件的权限,但这种解释只是表面现象。
要获得完全编辑文件权限的能力,有必要掌握 chmod
和 chown
命令。但不用担心,两者都没有那么复杂,都只需要一点背景知识就可以理解。
在本教程中,我们将解释 Linux 系统上 chmod 和 chown 命令之间的差异。您将通过这两个命令的示例来学习命令语法,并了解如何将它们结合使用,以便为 Linux 系统上的文件实现所需的正确权限和安全设置。请在下面加入我们以了解更多信息。
在本教程中您将学习:
- 如何使用 chown 命令更改文件所有权
- 如何使用 chmod 命令更改文件权限
- Linux 命令
chmod
和chown
有什么区别?
chown 与 chmod Linux 命令
chmod
和 chown
Linux 命令是 Linux 中用于控制文件权限的主要工具。它们都是齐头并进的,必须结合使用才能有效控制哪些用户有权使用某些文件。
Linux中主要有三种权限:
- 读取 – 打开文件并读取其内容的能力
- 写入 – 编辑和保存文件更改的能力
- 执行 – 执行文件的能力,例如 Bash 脚本
然后可以将这三种类型的权限委托给三种不同的用户类型:
- 所有者 – 文件的用户或所有者
- 组 – 对文件具有权限的用户组
- 其他 – 既不是所有者也不属于该组的所有其他用户
假设我们有以下文件:
$ ls -l example_file.txt
-rwxrw-r-- 1 linuxconfig admins 22 Oct 2 18:00 example_file.txt
输出告诉我们:
- 该文件的所有者是
linuxconfig
,具有读、写和执行权限 - 该文件所属组为
admins
,具有读写权限 - 所有其他用户对该文件仅有读取权限
接下来,让我们看看如何使用这两个命令来更改哪些用户可以与 Linux 上的文件进行交互。
如何使用 chown
为了给单个用户或一组用户分配权限,我们首先需要使用 chown 命令来指定文件的所有者和组。应用这些设置后,我们可以使用 chmod 编辑所有者和组权限。
首先将文件
example_file.txt
的所有者设置为用户linuxconfig
:$ sudo chown linuxconfig:linuxconfig example_file.txt
请注意,我们在这里使用了 sudo 命令,这是更改文件所有权所必需的。我们还使用 linuxconfig:linuxconfig 语法同时更改用户和组。这实际上与不授予组权限相同,因为
linuxconfig
组仅包含一个用户 -linuxconfig
。或者,如果我们想同时配置所有者
linuxconfig
和组admins
,我们可以执行:$ sudo chown linuxconfig:admins example_file.txt
如果您只想更改文件的组而不是所有者,则可以使用 chgrp 命令。在此示例中,我们将组更改为
admins
:$ sudo chgrp admins example_file.txt
如何使用chmod
现在我们已经正确设置了所有者和组,我们可以使用 chmod 命令来修改所有者、组和其他用户所需的文件权限。
chmod
命令可以接受许多语法和选项,但涵盖所有语法和选项超出了本教程的范围。相反,请参阅我们的 chmod 命令教程以获取各种示例的列表。在本节中,我们将仅介绍基础知识,以帮助您了解 chmod
与 chown
有何不同。
以下命令将更改所有者、组和其他用户的权限:
$ chmod 760 example_file.txt
7
相当于读、写、执行权限,会将这些权限授予所有者6
相当于读写权限,会将其授予组0
相当于没有权限,将其分配给所有其他用户
通过这种方式,我们可以看到 chown 和 chmod 命令如何相互补充来实现每个文件所需的权限。 chmod 命令控制所有用户的权限,chown 命令允许我们通过配置所有者和组帐户来更精细地分配权限。
结束语
在本教程中,我们了解了 Linux 系统上 chown 和 chmod 命令之间的差异。这两个命令相辅相成,使用户能够将读取、写入和执行权限委托给系统上的用户。应该理解和掌握这两个命令,以确保文件不被非预期用户访问。