如何读取 ls -l 权限

如何读取 ls -l 权限

我一直在尝试了解 Linux 权限。我知道我可以通过 Cyber​​Duck 从远程 Linux 机器下载一个文件,但无法下载另一个文件。以下是 的输出ls -l

-rw-r--r-- 1 root root 5360 Jul 26 17:31 coworking1.crt
-rw------- 1 root root 1704 Jul 26 17:31 coworking1.key

(ls -l 输出的图像)

请告诉我:

  1. 我怎样才能读懂这句话-rw-r--r-- 1 root root
  2. 除了通过 复制权限之外chmod --reference:file1 file2,我怎样才能将 的权限设置为与通过 bash 命令coworking1.key相同?coworking1.crt

答案1

在行中-rw-r--r-- 1 root root,第一个破折号表示该文件没有任何特殊权限。接下来的 3 个字符“rw-”表示该文件的所有者可以读取和写入该文件,但该文件不可执行。也就是说,它不是您可以运行的程序。如果它也是可执行的,您将看到“rwx”而不是“rw-”。

接下来的 3 个字符“r--”表示此文件组(即“root”)中的任何其他帐户都只有读取权限;由于在“w”和“x”可能出现的位置有破折号,这表示这些权限未授予该组的文件。接下来的“r--”表示“其他”,即不是所有者且不在有权访问此文件的组中的帐户只有读取权限。当您看到“root root”时,第一个“root”是拥有该文件的帐户。第二个“root”显示适用于该文件的组。该组不一定必须与所有者相同;它们可以不同。例如,可能有一个名为“test”的组,其中包含 root 和帐户 jdoe。但在这种情况下,root 帐户可能是 root 组中的唯一帐户。您可以通过发出命令查看系统上的组您可以使用或cat /etc/group将 coworking1.key 的权限设置为与 coworking1.crt 相同。在后一个示例中,您为该组添加了读取访问权限,并为其他人添加了读取访问权限。chmod 644 coworking1.keychmod g+r,o+r coworking1.key

参考资料了解 Linux 文件权限Linux 教程 - 8. 权限,这将解释为什么chmod 644 coworking1.key也有效。但是,基本上,您可以认为每个分组中的 3 个位置的第一个位置的数值为 4,第二个位置的数值为 2,第三个位置的数值为 1。因此,如果权限为“rw-”,则总共有 6。如果是“r--”,则值为 4。如果是“rwx”,则总共有 7。这些数字适用于每个分组。因此,使用 644 意味着所有者 (rw-) 的权限为 6,组 (r--) 的权限为 4,系统上所有其他帐户的权限为 4 (r--)。但您始终可以使用该chmod g+r,o+r coworking1.key格式,而不必担心如何以数字方式设置权限。对于该格式,使用加号会添加权限,使用减号会删除权限。

相关内容