ACM:即Access Control Mechanism
ACM为系统管理员提供了一种控制哪些用户、进程可以访问不同的文件、设备和接口等的一种方式。当需要确保计算机系统或网络安全时,ACM是一个主要的考虑因素。
ACM主要有以下6种方式:
1) 自主访问控制:Discretionary Access Control (DAC)
2) 访问控制列表:Access Control Lists (ACLs)
3) 强制访问控制:Mandatory Access Control (MAC)
4) 基于角色的访问控制:Role-based Access Control (RBAC)
5) 多级安全:Multi-Level Security (MLS)
6) 多类安全:Multi-Category Security (MCS)
DAC为文件系统中的对象(文件、目录、设备等)定义基本的访问控制,即典型的文件权限和共享等。此访问机制通常由对象的所有者来决定。
ACL为一个subject(进程、用户等)可访问哪些object提供了进一步的控制。
MAC是一种安全机制,此安全机制是限制了用户(subject)对它自己所创建的对象所拥有的“控制级别”。与DAC不一样,在DAC中,用户对他们自己的object(文件、目录、设备等)拥有完全的控制权;而在MAC中,对所有的文件系统objects增加了额外的labels或categories。在subjects(用户或进程)与objects交互之前,它们必须对这些categories或labels进行合适的访问(即先要进行权限判断)。
对访问的控制彻底化,对所有的文件、目录、端口的访问,都是基于策略设定的。这些策略是由管理员设定的、一般用户是无权更改的。
从系统管理员的角度看,RBAC更易于通过控制组成员,从而控制哪些用户可以访问文件系统的哪些部分。
对于用户只赋予最小权限。对于用户来说,被划分成一些role,即使是root用户,你要是不在sysadm_r里,也还是不能实行sysadm_t管理操作的。因为,哪些role可以执行哪些domain也是在策略里设定的。role也是可以迁移的,但是只能按策略规定的迁移。
Multi-Category Security (MCS) 是一个增强的SELinux,允许用户标记文件类别。在SELinux中,MCS是MLSand重用MLS框架的适配器。