主要观点:
- 在高安全要求的多用户环境中,强大的权限控制是资源隔离的基础,Linux 的文件权限模型通过用户/组权限设置确保系统安全,分布式文件系统需遵循此模型以保证安全。
- 介绍了 Linux 的访问控制模型 DAC 和 MAC 及其差异,Unix 权限是继承自 Unix 系统的访问控制机制,包括基本权限
rwx及特殊权限位如 SUID、SGID、SBIT 等,还介绍了基于 Unix 权限的权限验证及 JuiceFS 中的实现。 - POSIX ACLs 提供了更精细的权限管理机制,可对任意用户或组分配
rwx权限,介绍了其结构、类型(访问 ACL 和默认 ACL)、权限评估规则及在文件系统中的实现。 - 能力机制(capability)将特权分为不同的能力,使非特权进程能获得特定特权,减少系统安全风险,介绍了在文件系统中启用能力支持的方法。
- SELinux 是增强 Linux 系统安全的内核模块,通过实施 MAC 限制 root 的无限权力,在文件系统中使用需同时启用扩展属性和 SELinux 支持。
关键信息:
- 常见 Linux 访问控制模型:DAC 是用户管理的权限,MAC 由管理员强制执行。
- Unix 权限的主体(用户或进程)、对象(文件或目录)及权限规则
rwx的含义。 - POSIX ACLs 的结构、类型及权限评估规则。
- 能力机制可减少系统安全风险,通过
getcap和setcap命令设置和查看能力。 - SELinux 是增强 Linux 系统安全的内核模块,在文件系统中使用需启用扩展属性和 SELinux 支持。
重要细节:
- 不同权限模型在控制权威、权限分配、灵活性、安全级别和权限修改等方面的差异。
- Unix 特殊权限位的作用及 JuiceFS 中的实现,如 Root Squash 和 All Squash 模式。
- POSIX ACLs 中新增的
NamedUsers和NamedGroup权限,以及mask条目用于管理组类内的动态权限变化。 - 能力机制在 Linux 内核版本 2.2 引入,文件的能力集存储在
security命名空间的扩展属性中。 - SELinux 在权限检查时先通过 DAC 再评估 SELinux 策略,文件有安全上下文存储在扩展属性中。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。