强制访问控制 强制访问控制英語mandatory access control缩写MAC在计算机安全领域指一种由操作系统约束的存取控制目标是限制主体或发起者访问或对对象或目标执行某种操作的能力在实践中主体通常是一个进程或线程对象可能是文件目录TCPUDP端口共享内存段IO设备等主体和对象各自具有一组安全属性每当主体尝试访问对象时都会由操作系统内核强制施行授权规则检查安全属性并决定是否可进行访问任何主體对任何物件的任何操作都将根据一组授权规则也称策略进行测试决定操作是否允许在数据库管理系统中也存在访问控制机制因而也可以应用强制访问控制在此环境下对象为表视图过程等 通过强制访问控制安全策略由安全策略管理员集中控制用户无权覆盖策略例如不能给被否决而受到限制的文件授予访问权限相比而言自主访问控制DAC也控制主体访问对象的能力但允许用户进行策略决策和或分配安全属性传统Unix系统的用户组和读写执行就是一种DAC启用MAC的系统允许策略管理员实现组织范围的安全策略在MAC不同于DAC下用户不能覆盖或修改策略无论为意外或故意这使安全管理员定义的中央策略得以在原则上保证向所有用户强制实施 在历史上和传统上MAC与多层安全英语Multilevel securityMLS和专业的军用系统密切相关在此环境中MAC意味着高度严格以满足MLS系统的约束但在最近MAC已从MLS本身中发展出来并变得更加主流最近的MAC实现有诸如面向Linux的SELinux和AppArmor以及面向Windows的强制完整性控制它们使管理员得以关注没有严格或MLS约束时遇到的如网络攻击或恶意软件等问题