ale*_*lex 25 users acl permissions group files
关于 Linux (Arch Linux) 上的文件权限,我遇到了一些意想不到的事情(对我来说)。基本上我有:
userX 在 groupXfileX userX:groupX ---rwx----令我困惑的是:我无法在 上执行任何操作 ( rwx) fileX。这是正确的吗?有人可以确认这确实是预期的行为吗?
我可以执行的唯一操作是mv并且rm因为我对父目录具有写权限。
问题是,我一直认为这些权限会相互重叠,从最通用的权限开始(其他 -> 组 -> 用户)。换句话说,如果o=rwx谁关心组和用户的权限是什么?显然情况并非如此,但对我来说没有多大意义;这似乎违反直觉。这种方法似乎唯一有用的是,很容易排除一个非常特定的人/组,这似乎不是一个聪明的方法(恕我直言)。此外,所有者(和组?)应该可以chmod吧?对这个问题有什么想法吗?
Gil*_*il' 28
问题是,我一直认为这些权限会相互重叠,从最通用的权限开始(其他 -> 组 -> 用户)。
如果是这种情况,那么“其他”权限将适用于所有人。
换句话说,如果 o=rwx 谁在乎组和用户的权限是什么?
这和你上一句话不一样。在这里,您暗示权限是“或”在一起的,例如,如果 userX 拥有该文件并且该文件是用户可读的,或者如果 userX 所属的组拥有该文件并且该文件是组,则 userX 具有读取权限-可读,或者如果文件是其他可读的。但这不是它的工作原理。事实上,o=rwx意味着rwx权限适用于其他人,但它并没有说明不是其他人的实体。
首先,用户属于哪个组并不直接重要。内核没有属于组的用户的概念。内核维护的是,对于每个进程,用户 ID(有效 UID)和组 ID列表(有效 GID 和补充 GID)。组是在登录时由登录过程确定的——它是读取组数据库(例如/etc/group)的登录过程。用户和组 ID 由子进程继承¹。
当进程尝试使用传统 Unix 权限打开文件时:
只使用了一组 rwx 位。用户优先于组,组优先于其他。当存在访问控制列表时,将上述算法推广:
有关如何使用 ACL 条目(包括掩码的效果)的更多详细信息,另请参阅当用户属于多个组时的 ACLS 优先级。
因此-rw----r-- alice interns表示Alice 可以读取和写入的文件,并且除了实习生之外的所有其他用户都可以读取该文件。具有权限和所有权的文件----rwx--- alice interns只能由除 Alice 之外的实习生访问(无论她是否是实习生)。由于 Alice 可以调用chmod更改权限,因此这不提供任何安全性;这是一个边缘情况。在具有 ACL 的系统上,通用机制允许从特定用户或特定组中删除权限,这有时很有用。
使用一组位,而不是对每个动作(读、写、执行)的所有位进行或运算,有几个优点:
¹它们可以在执行setuid或 setgid 进程时更改。这与手头的问题无关。
小智 6
更具体的权限优先于不太具体的权限。
组X中的用户X
fileX userX:groupX ---rwx----
由于您是文件的所有者,因此您将仅被授予所有者权限。所有者没有权限。因此,你不能做任何事情。如果您不是该文件的所有者和组成员,则组权限将适用。
请阅读维基页面的这一部分
https://en.wikipedia.org/wiki/File_system_permissions#Classes
| 归档时间: |
|
| 查看次数: |
15190 次 |
| 最近记录: |