深入研究分布式文件系统权限管理:Linux 安全集成

主要观点:

  • 在高安全要求的多用户环境中,强大的权限控制是资源隔离的基础,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 的结构、类型及权限评估规则。
  • 能力机制可减少系统安全风险,通过getcapsetcap命令设置和查看能力。
  • SELinux 是增强 Linux 系统安全的内核模块,在文件系统中使用需启用扩展属性和 SELinux 支持。

重要细节:

  • 不同权限模型在控制权威、权限分配、灵活性、安全级别和权限修改等方面的差异。
  • Unix 特殊权限位的作用及 JuiceFS 中的实现,如 Root Squash 和 All Squash 模式。
  • POSIX ACLs 中新增的NamedUsersNamedGroup权限,以及mask条目用于管理组类内的动态权限变化。
  • 能力机制在 Linux 内核版本 2.2 引入,文件的能力集存储在security命名空间的扩展属性中。
  • SELinux 在权限检查时先通过 DAC 再评估 SELinux 策略,文件有安全上下文存储在扩展属性中。
阅读 206
0 条评论