Nat*_*man 9 filesystems permissions ntfs
相关问题:Linux 文件系统/组织与 Windows 有何不同?
我有点熟悉权限在文件和目录方面的工作原理 - 每个条目都有一个owner
andgroup
属性,代表文件的所有者和所有者所属的组(如果我错了,请纠正我)。
这与 Windows 上 NTFS 文件系统中的权限组织有何不同?Unix的权限系统相比NTFS有什么优势?
Law*_*ceC 17
NTFS 具有 Windows ACE。Unix 在每个文件上使用“模式位”。
在 NTFS 上,每个文件都可以有一个所有者,以及零个或多个 Windows 访问控制项 (ACE)。ACE 包含一个主体(用户和组是主体)、一组操作(读取、写入、执行等)以及这些操作是被允许还是被拒绝。文件可以有很多 ACE。Windows 中除文件之外的其他对象也可以具有 ACE,例如注册表项、打印机对象和其他内容。发生文件操作时会考虑所有 ACE。拒绝优先于允许。
Windows ACE 支持继承,您可以在其中为目录设置 ACE 并让它自动传播到较低级别的目录。
Unix 中的文件有一个拥有用户(owner)和一个拥有组(owner-group)。有三个固定的“委托人”,它们是所有者、拥有组的成员和其他所有人(又名世界)。对于每个主体,有三个“位”,涵盖读取、写入和执行能力。(这些对目录的含义与文件的含义不同,请参阅此)。这些位决定谁可以执行什么操作。这称为文件模式并内置于文件中(没有单独的 ACE)。
大多数时候,您关心的是“world”权限,即,将“world”的所有三位设置为 0 意味着不是所有者或组所有者的任何人都无法对文件进行任何操作。Unix 权限仅适用于文件系统,但由于大多数对象显示为文件,因此您可以使用权限来限制对磁盘、打印机等的访问。Unix 权限更简单但更“粗略”。Unix 权限不支持继承,不会影响较低级别的目录,除了目录的执行权限(我认为)会导致新创建的文件承担目录的权限(但不影响当前创建的文件)。
传统上 Unix 文件有一个所有者和一个所有者组。Linux 的一些扩展以类似于 Windows 的方式将 ACE 添加到文件中。
Unix 的优势只是更简单的系统通常更容易理解和安全,而且速度更快,因为文件系统在打开文件时除了 inode 之外还不需要获取 ACE。
完全不同的一件事是“可执行”是 Linux/Unix 下的权限,而不是基于文件的名称或扩展名。
这是相对于 Windows 的一个优势,因为在 Linux 上,您可以通过删除可执行权限来确保某些内容不会被执行。魔法扩展根本不重要。这可能是传统文件病毒在 Unix 和 Linux 上一无所获的原因之一。