我不了解unix用户、组、权限等。例如,由chmod
、chgrp
、usermod
、groupadd
等命令管理的东西。所有这些事情是如何运作的?
答案1
这都是授予对文件的各种访问权限的一种方法。
用户是个人用户。当您想要授予一个人和仅一个人访问权限时,请使用此选项。组是多个用户。当您想要授予多人访问权限时,请使用此选项。将它们全部放入一个唯一的组中并将其设置为组所有者。其他适用于非用户或组所有者的任何人。
文件始终必须有用户所有者和组所有者。通常每个用户都会有一个以他们的名字命名的组,并且只有他们作为成员。这样您就可以拥有真正属于个人所有的文件。
权限如下
- R——允许用户读取文件的内容
- W——允许用户写入文件
- X——允许用户将文件作为程序执行
R 和 W 可能是不言自明的。 X可能有点令人困惑。在某些情况下,您只希望某些用户执行某些程序。例如,也许您不希望普通用户执行fdisk
或format
。删除 X 权限other
将允许您像这样限制它。
列出的文件权限显示为类似 的内容rwxr-xr-x
。这实际上是三组权限。前三个用于用户所有者。后三个用于组所有者,最后三个用于所有其他用户。字母表示授予权限,破折号表示权限被拒绝。在我使用的示例中,用户所有者可以读取文件、写入新内容并将文件作为程序执行。然而,组和其他只能读取和执行。
一些常见的“陷阱”
- 使文件只写(-w-)可能不是您想要的
- 为了执行您还必须阅读。即--x对文件没有用,必须是rx。
- 除了这些之外,还有其他权限可以存储在 ACL 中。如果您的操作系统和/或文件系统支持 POSIX、NFSv4 或扩展 ACL,您可能还需要检查那里的权限
- 适用于目录的权限略有不同,但足够接近,您现在无需担心这一点,除非您应该始终在目录上同时启用 r 和 x 。
答案2
我从这里开始:文件系统权限
答案3
这个帖子 -Unix / Linux:文件和目录权限初学者指南是一个很好的介绍。