lonix Asked: 2023-06-09 11:29:10 +0800 CST2023-06-09 11:29:10 +0800 CST 2023-06-09 11:29:10 +0800 CST 文件权限和模式之间有区别吗? 772 术语“文件权限”和“文件模式”经常互换使用。但是,一些工具专门使用一个或另一个术语。有趣的是,这个古老的chmod工具特指“文件模式”。 它们之间是否存在技术或历史差异? linux 2 个回答 Voted Zeno of Elea 2023-06-09T12:14:21+08:002023-06-09T12:14:21+08:00 从技术上讲,这取决于您如何定义文件权限。文件模式是在 stat 结构中找到的数据点之一。模式的低 12 位是用户、组和其他 RWX 权限三元组以及 setuid、setgid 和粘滞位。屏蔽掉那些较低的位,剩下的值是文件的类型,其中块、字符、目录、FIFO、套接字、符号链接和常规文件是唯一标准定义的类型。所以文件的模式可以描述为 Unix 自由访问控制文件权限、setguid 和粘滞位以及文件类型。 然而,自原始 Unix 文件权限以来,文件权限已得到扩展,包括 ACL、扩展属性文件权限和强制访问控制方案(如 SELinux 和 AppArmor)。 Best Answer Stephen Kitt 2023-06-09T12:16:44+08:002023-06-09T12:16:44+08:00 “模式”被定义为 指定文件类型及其访问权限的属性集合。 它们不可互换,文件的模式不仅仅是它的权限。 可以使用 检索文件的模式,并使用中定义的宏stat提取各种值。sys/stat.h 有关文件类型和权限的更多详细信息,请参阅了解 UNIX 权限和文件类型。
从技术上讲,这取决于您如何定义文件权限。文件模式是在 stat 结构中找到的数据点之一。模式的低 12 位是用户、组和其他 RWX 权限三元组以及 setuid、setgid 和粘滞位。屏蔽掉那些较低的位,剩下的值是文件的类型,其中块、字符、目录、FIFO、套接字、符号链接和常规文件是唯一标准定义的类型。所以文件的模式可以描述为 Unix 自由访问控制文件权限、setguid 和粘滞位以及文件类型。
然而,自原始 Unix 文件权限以来,文件权限已得到扩展,包括 ACL、扩展属性文件权限和强制访问控制方案(如 SELinux 和 AppArmor)。
“模式”被定义为
它们不可互换,文件的模式不仅仅是它的权限。
可以使用 检索文件的模式,并使用中定义的宏
stat
提取各种值。sys/stat.h
有关文件类型和权限的更多详细信息,请参阅了解 UNIX 权限和文件类型。