文件权限类别

文件权限类别

所以我对文件权限类别有点困惑。所以这就是我的理解,如果我错了,请纠正我。

对于每个文件,都有一个所有者(一个用户),它有一个符号 u,对于每个文件,可能有一组用户拥有该文件(大多数时候所有者=组?)一个组可以访问它,包括所有者本人是该团体的成员。

而其他人是指所有不在群组中且不是所有者的人,对吗?

那么在处理权限时,用户就是所有者吗?

并且所有(a)指的是所有者(u)+组(g)+其他人?

答案1

在 POSIX 文件系统上,每个文件都有一个用户(文件的所有者)、一个组以及用户、组和其他所有人的权限。

对于每个用户,对给定文件的访问权限确定如下:

  • 如果用户是文件的所有者,则应用所有者权限;
  • 如果用户是文件组的成员,则应用组权限;
  • 在所有其他情况下,其他权限均适用。

这里的顺序很重要;因此,您可以拥有一个属于您的文件,具有权限0077(组和其他人的所有内容,所有者的任何内容),并且您将无权访问它!但由于您是所有者,您可以使用 来更改它chmod。在某些情况下,您想要拒绝特定组的访问并允许其他任何人访问(想象一下students学术环境中的组),这可能很有用。

严格来说,权限并不与最终用户匹配,而是与进程的有效用户匹配,这可能有所不同(例如对于 set-uid 二进制文件)。也可能有其他因素影响群体,例如在 NFS 挂载上。

可以设置权限chmod(请参阅了解 UNIX 权限及其属性有关详细信息),一种选择是使用您提到的字母:u用于用户权限、g用于组权限和o用于其他权限。使用awithchmod将权限应用于所有三个类别。

在现代系统中,其他访问权限可以应用在这些权限之上或代替这些权限;查找 ACL ( setfacl)、SELinux 等。

相关内容