zhcn 技术 手机 Linux 文件权限解释

Linux 文件权限解释

Linux 被誉为功能强大且可靠的操作系统,提供无与伦比的安全性、稳定性和灵活性。为了维护系统的完整性和安全性,Linux 以“权限”的形式实现某些设置。这些权限控制谁可以访问、修改或执行文件和目录。无论您是 Linux 新用户还是经验丰富的老手,了解 Linux 权限对于安全可靠的系统都至关重要。本文详细介绍了 Linux 权限是什么以及如何最好地保证文件和目录的安全。

Linux 文件权限解释
Linux 文件权限解释

了解 Linux 权限

Linux 文件权限是允许用户控制谁可以访问其文件的特定设置。在 Linux 中,每个文件或目录都有一组分布在三个级别的系统用户之间的权限:

  • 用户:指文件或目录的所有者。所有者通常是创建文件/目录的用户。
  • :组是对文件或目录具有相同权限集的用户的集合。
  • 其他:既不是该组的所有者也不是该组成员的所有其他用户都属于此类别。

每个用户都具有三种类型的文件权限,这决定了他们可以执行的不同类型的操作。

  • 读(r) :用户可以查看文件或目录的内容。对于文件来说,读权限意味着用户可以打印和复制文件的内容。对于目录,读权限允许用户查看和复制目录中的文件。
  • Write (w) :用户可以修改文件/目录的内容。如果用户具有写入权限,则该用户可以添加、删除甚至重命名文件或目录。
  • 执行 (x) :允许用户执行文件和访问目录。这与 Windows 形成鲜明对比,Windows 中的可执行文件具有“.exe”扩展名,用户可以轻松运行它们。但是,在 Linux 上,只有当文件具有该用户的执行权限时,该用户才能执行该文件。
  • 破折号(-) :表示未设置权限或没有权限。
Linux 文件权限解释
Linux 文件权限解释

Linux下查看文件权限的方法

现在我们知道了 Linux 上存在的所有文件权限,让我们看看如何查看授予文件的权限。查看文件权限非常简单,只需使用以下命令:

ls -l

此命令显示当前位置的所有文件和目录的列表。输出应如下面的屏幕截图所示。

是不是看起来很混乱?让我们通过一个示例来理解这一点。

在上面的例子中:

  • 第一个字符 (-) 表示文件类型。 “ - ”表示该项目是一个文件,“ d ”表示一个目录。
  • 接下来的九个字符指定条目的权限集(稍后会详细介绍)。
  • 下一个数字表示文件包含多少个链接。默认情况下,该项目将为 1。
  • 下一列显示文件所有者的名称
  • 下一列显示哪些可以访问该文件。
  • 下一列显示文件大小
  • 下一列显示文件的最近修改时间
  • 最后一列将显示文件/目录的名称

简化ls-l命令的输出后,让我们使用示例权限集“ rwxr-xr-- ”来扩展权限部分。

  • 这里,前三个字符“ rwx ”表示文件所有者具有读(r)、写(w)和可执行(x)权限。
  • 接下来的三个字符“ rx ”表示该组用户既有读(r)权限,又有可执行(x)权限,但没有写权限(-)。
  • 最后三个字符“ r-- ”表示所有其他用户仅具有读取(r) 权限。最后两个破折号表示没有权限(在本例中为写入和执行权限)。

前三个字符代表文件所有者的权限。接下来的三个字符代表该用户在该组中的权限,最后三个字符代表其他用户的权限。

Linux 文件权限解释
Linux 文件权限解释

如何更改 Linux 上的文件权限

要更改 Linux 上的文件权限,请使用 chmod 命令,它代表“更改模式”。使用 chmod 命令的基本语法是:

chmod <options> <permissions> <filename>

可以与 chmod 结合使用的命令选项包括:

选项解释
-v显示所有已处理文件的诊断消息
-c工作方式与-v类似,不同之处在于,如果进行更改,则仅显示诊断消息。
-f用于抑制大多数错误消息。
-R用于递归修改文件和目录。

对于 <permissions> 部分,您可以使用以下两种方法之一:

  • 绝对模式
  • 符号模式

chmod 绝对模式

在此模式下,权限被指定为从 1 到 7 的三位数字(也称为八进制数)的组合。这里,第一个数字对应文件所有者,第二个数字对应群组用户,第三个数字对应其他用户。在绝对模式下指定权限的基本语法是:

chmod <options> <permission_combination> <file_name>

可用于权限的不同数字组合包括:

权限类型数字
根本不允许0
执行1
2
写入+执行3(即2+1)
4
读取+执行5(或4+1)
读+写6(或4+2)
读+写+执行7(即4+2+1)

让我们看一个例子,以便更容易理解。例如,要设置所有用户对文件“test.txt”的读、写和执行权限,请使用以下命令:

chmod -v 777 test.txt

由于这是 Linux 系统上非常常用的命令,因此我们准备了一份有关 chmod 777 在 Linux 上含义的详细指南。

2、如果想设置文件所有者只读权限,组或其他用户无权限,可以使用以下命令:

chmod -v 400 test.txt

chmod 符号模式

绝对模式的主要问题是您始终需要向所有用户提供一组权限,即使您需要对一个用户进行更改也是如此。

这就是符号模式发挥作用的地方。符号模式更常用,因为它使用字母而不是数字,这对大多数用户来说很难理解。除了对用户来说更容易之外,符号模式还允许您仅为特定用户设置权限,这与绝对模式不同。使用 chmod 符号模式更改文件权限的基本语法是:

chmod <options> <user_type><symbol><permission_set> <file_name>

上面的语法看起来像这样:

  • <user_type> 指定要为其设置权限的用户类型。
  • <symbol> 指“-”、“+”和“=”,分别表示“删除”、“添加”和“等于”。
  • <permission_set> 是指为用户设置的权限。

在符号模式下,<user_types>可以指定如下:

  • 文件所有者是“u”
  • 将用户分组为“g”
  • 其他用户是“o”
  • 所有用户的“a”或“ugo”(所有三个的组合)

在 <permission_set> 部分,您可以使用以下任意组合:

权限类型象征
根本不允许
执行-X
-w-
写入+执行-wx
r-
读取+执行处方
读+写RW-
读+写+执行读写

让我们看一些如何在 Linux 上使用符号模式设置权限的示例。如果要设置组的执行权限,请使用以下命令:

chmod -v g+x test.txt

您还可以为不同的用户类型设置多个权限。假设您要删除其他用户类型的执行权限,并向文件所有者添加读、写和执行权限。

chmod ox,u+rwx test.txt

Linux 文件权限解释
Linux 文件权限解释

在 Linux 上更改文件/目录所有者和组

假设您想要所有权限,但不想与组用户共享它们。在这些情况下,您可以使用chown (更改所有者)命令更改文件的所有权。更改所有者的语法非常简单。

chown <new_user_name> <filename_or_directory_name>

例如,如果要将文件test.py的所有者更改为root,可以使用以下命令:

sudo chown root test.py

注意:更改文件的所有者需要 root 权限。如果您没有root权限,请使用“sudo”命令获取root权限。

如果需要更改文件组,请使用chgrp命令。

chgrp <new_group_name> <filename_or_directory_name>

例如,如果要更改要测试的组,请使用 chgrp 命令。

sudo chgrp test test.txt

注意:两个组不能是同一文件/目录的所有者。如果您想了解如何将新用户添加到组中,请查看我们有关如何将新用户添加到组中的指南。

管理文件权限至关重要,尤其是在多用户环境中。通过定期检查 Linux 系统上的文件权限,您可以保护敏感文件免遭窥探。我希望这篇文章可以帮助您理解这个基本概念。如果您有任何疑问,请在评论中告诉我们。

Linux 文件权限解释
Linux 文件权限解释

绝对值得一看!被选为“Linux文件权限详解”最佳视频

【丁寧に学ぶLinux入門】 ⑦パーミッションと管理者権限(chmod, sudo)
https://www.youtube.com/watch?v=10XGRcvvoz8&pp=ygUoIExpbnV4IOODleOCoeOCpOODq-aoqemZkOOBruiqrOaYjiZobD1KQQ%3D%3D
【Linuxコマンドの基本01】 ファイルを管理する Bash上でファイル、ディレクトリを作る、消す、そして、ファイルとはなにか、ディレクトリとは? 初心者にわかりやすく解説。
https://www.youtube.com/watch?v=pG2nztGOwIA&pp=ygUoIExpbnV4IOODleOCoeOCpOODq-aoqemZkOOBruiqrOaYjiZobD1KQQ%3D%3D

Linux 被誉为功能强大且可靠的操作系统,提供无与伦比的安全性、稳定性和灵活性。为了维护系统的完整性和安全性,Linux 以“权限”的形式实现某些设置。这些权限控制谁可以访问、修改或执行文件和目录。无论您是 Linux 新用户还是经验丰富的老手,了解 Linux 权限对于安全可靠的系统都至关重要。本文详细介绍了 Linux 权限是什么以及如何最好地保证文件和目录的安全。

Linux 文件权限解释
Linux 文件权限解释

了解 Linux 权限

Linux 文件权限是允许用户控制谁可以访问其文件的特定设置。在 Linux 中,每个文件或目录都有一组分布在三个级别的系统用户之间的权限:

  • 用户:指文件或目录的所有者。所有者通常是创建文件/目录的用户。
  • :组是对文件或目录具有相同权限集的用户的集合。
  • 其他:既不是该组的所有者也不是该组成员的所有其他用户都属于此类别。

每个用户都具有三种类型的文件权限,这决定了他们可以执行的不同类型的操作。

  • 读(r) :用户可以查看文件或目录的内容。对于文件来说,读权限意味着用户可以打印和复制文件的内容。对于目录,读权限允许用户查看和复制目录中的文件。
  • Write (w) :用户可以修改文件/目录的内容。如果用户具有写入权限,则该用户可以添加、删除甚至重命名文件或目录。
  • 执行 (x) :允许用户执行文件和访问目录。这与 Windows 形成鲜明对比,Windows 中的可执行文件具有“.exe”扩展名,用户可以轻松运行它们。但是,在 Linux 上,只有当文件具有该用户的执行权限时,该用户才能执行该文件。
  • 破折号(-) :表示未设置权限或没有权限。
Linux 文件权限解释
Linux 文件权限解释

Linux下查看文件权限的方法

现在我们知道了 Linux 上存在的所有文件权限,让我们看看如何查看授予文件的权限。查看文件权限非常简单,只需使用以下命令:

ls -l

此命令显示当前位置的所有文件和目录的列表。输出应如下面的屏幕截图所示。

是不是看起来很混乱?让我们通过一个示例来理解这一点。

在上面的例子中:

  • 第一个字符 (-) 表示文件类型。 “ - ”表示该项目是一个文件,“ d ”表示一个目录。
  • 接下来的九个字符指定条目的权限集(稍后会详细介绍)。
  • 下一个数字表示文件包含多少个链接。默认情况下,该项目将为 1。
  • 下一列显示文件所有者的名称
  • 下一列显示哪些可以访问该文件。
  • 下一列显示文件大小
  • 下一列显示文件的最近修改时间
  • 最后一列将显示文件/目录的名称

简化ls-l命令的输出后,让我们使用示例权限集“ rwxr-xr-- ”来扩展权限部分。

  • 这里,前三个字符“ rwx ”表示文件所有者具有读(r)、写(w)和可执行(x)权限。
  • 接下来的三个字符“ rx ”表示该组用户既有读(r)权限,又有可执行(x)权限,但没有写权限(-)。
  • 最后三个字符“ r-- ”表示所有其他用户仅具有读取(r) 权限。最后两个破折号表示没有权限(在本例中为写入和执行权限)。

前三个字符代表文件所有者的权限。接下来的三个字符代表该用户在该组中的权限,最后三个字符代表其他用户的权限。

Linux 文件权限解释
Linux 文件权限解释

如何更改 Linux 上的文件权限

要更改 Linux 上的文件权限,请使用 chmod 命令,它代表“更改模式”。使用 chmod 命令的基本语法是:

chmod <options> <permissions> <filename>

可以与 chmod 结合使用的命令选项包括:

选项解释
-v显示所有已处理文件的诊断消息
-c工作方式与-v类似,不同之处在于,如果进行更改,则仅显示诊断消息。
-f用于抑制大多数错误消息。
-R用于递归修改文件和目录。

对于 <permissions> 部分,您可以使用以下两种方法之一:

  • 绝对模式
  • 符号模式

chmod 绝对模式

在此模式下,权限被指定为从 1 到 7 的三位数字(也称为八进制数)的组合。这里,第一个数字对应文件所有者,第二个数字对应群组用户,第三个数字对应其他用户。在绝对模式下指定权限的基本语法是:

chmod <options> <permission_combination> <file_name>

可用于权限的不同数字组合包括:

权限类型数字
根本不允许0
执行1
2
写入+执行3(即2+1)
4
读取+执行5(或4+1)
读+写6(或4+2)
读+写+执行7(即4+2+1)

让我们看一个例子,以便更容易理解。例如,要设置所有用户对文件“test.txt”的读、写和执行权限,请使用以下命令:

chmod -v 777 test.txt

由于这是 Linux 系统上非常常用的命令,因此我们准备了一份有关 chmod 777 在 Linux 上含义的详细指南。

2、如果想设置文件所有者只读权限,组或其他用户无权限,可以使用以下命令:

chmod -v 400 test.txt

chmod 符号模式

绝对模式的主要问题是您始终需要向所有用户提供一组权限,即使您需要对一个用户进行更改也是如此。

这就是符号模式发挥作用的地方。符号模式更常用,因为它使用字母而不是数字,这对大多数用户来说很难理解。除了对用户来说更容易之外,符号模式还允许您仅为特定用户设置权限,这与绝对模式不同。使用 chmod 符号模式更改文件权限的基本语法是:

chmod <options> <user_type><symbol><permission_set> <file_name>

上面的语法看起来像这样:

  • <user_type> 指定要为其设置权限的用户类型。
  • <symbol> 指“-”、“+”和“=”,分别表示“删除”、“添加”和“等于”。
  • <permission_set> 是指为用户设置的权限。

在符号模式下,<user_types>可以指定如下:

  • 文件所有者是“u”
  • 将用户分组为“g”
  • 其他用户是“o”
  • 所有用户的“a”或“ugo”(所有三个的组合)

在 <permission_set> 部分,您可以使用以下任意组合:

权限类型象征
根本不允许
执行-X
-w-
写入+执行-wx
r-
读取+执行处方
读+写RW-
读+写+执行读写

让我们看一些如何在 Linux 上使用符号模式设置权限的示例。如果要设置组的执行权限,请使用以下命令:

chmod -v g+x test.txt

您还可以为不同的用户类型设置多个权限。假设您要删除其他用户类型的执行权限,并向文件所有者添加读、写和执行权限。

chmod ox,u+rwx test.txt

Linux 文件权限解释
Linux 文件权限解释

在 Linux 上更改文件/目录所有者和组

假设您想要所有权限,但不想与组用户共享它们。在这些情况下,您可以使用chown (更改所有者)命令更改文件的所有权。更改所有者的语法非常简单。

chown <new_user_name> <filename_or_directory_name>

例如,如果要将文件test.py的所有者更改为root,可以使用以下命令:

sudo chown root test.py

注意:更改文件的所有者需要 root 权限。如果您没有root权限,请使用“sudo”命令获取root权限。

如果需要更改文件组,请使用chgrp命令。

chgrp <new_group_name> <filename_or_directory_name>

例如,如果要更改要测试的组,请使用 chgrp 命令。

sudo chgrp test test.txt

注意:两个组不能是同一文件/目录的所有者。如果您想了解如何将新用户添加到组中,请查看我们有关如何将新用户添加到组中的指南。

管理文件权限至关重要,尤其是在多用户环境中。通过定期检查 Linux 系统上的文件权限,您可以保护敏感文件免遭窥探。我希望这篇文章可以帮助您理解这个基本概念。如果您有任何疑问,请在评论中告诉我们。

Linux 文件权限解释
Linux 文件权限解释

绝对值得一看!被选为“Linux文件权限详解”最佳视频

【丁寧に学ぶLinux入門】 ⑦パーミッションと管理者権限(chmod, sudo)
https://www.youtube.com/watch?v=10XGRcvvoz8&pp=ygUoIExpbnV4IOODleOCoeOCpOODq-aoqemZkOOBruiqrOaYjiZobD1KQQ%3D%3D
【Linuxコマンドの基本01】 ファイルを管理する Bash上でファイル、ディレクトリを作る、消す、そして、ファイルとはなにか、ディレクトリとは? 初心者にわかりやすく解説。
https://www.youtube.com/watch?v=pG2nztGOwIA&pp=ygUoIExpbnV4IOODleOCoeOCpOODq-aoqemZkOOBruiqrOaYjiZobD1KQQ%3D%3D