我正在尝试了解文件权限,并想知道用户、组和其他用户之间的区别。我读到的文章指出,第一位表示它是否是文件夹,接下来的三个字符表示用户的读写和执行权限,然后是组的读写和执行权限,然后是其他人的读写和执行权限。我想知道用户、组和其他用户之间的区别。主要是用户和组之间的区别。
答案1
一些历史:Unix 最初是作为多用户系统编写的;Linux 继承了这一点,它的所有衍生产品也是如此,包括 Mac OSX。在多用户系统上,您可能有几组用户希望共享文件,但可能希望将内容保密或以其他方式限制访问。因此,每个文件都被定义为由特定组中的特定用户拥有。用户可以属于多个组。该命令groups
(在 Linux 上)将列出您是成员的组。
当您尝试访问文件时,系统首先检查您的用户是否与文件所有者的用户匹配;如果是,则使用用户权限。
如果您不是拥有该文件的用户,下一步将检查您是否是该文件的“所有者”组的成员;如果是,则使用组权限。
最后,如果以上两种方法都失败(您既不是文件的所有者,也不属于给定的组),则使用世界(其他)权限。
通常,组和其他人的权限相同。例如,您可能有一个可以读取和写入的文件,但其他人(无论是否与您一起工作)都只能读取。另一种常见的情况是用户具有读取和写入权限,组成员可以读取,但其他人无权访问。
当然,今天,大多数台式机/笔记本电脑系统只有一个用户,因此几乎不需要组级别,但它仍然内置于系统中,并被一些需要协作的系统服务使用。