自主访问控制(DAC: Discretionary Access Control)
自主访问控制中,产品中的操作对象被设置了权限等级。
在用户登陆时,系统识别用户,根据被操作对象(Subject)的权限控制列表(ACL: Access Control List)或者权限控制矩阵(ACL: AccessControl Matrix)信息设置用户能对哪些操作对象进行何种操作,例读取操作或能够修改操作对象。
更具特点的是,拥有对象权限的用户,还可以将对象权限分配给其他用户,所以叫“自主(Discretionary)”控制。
Windows中的文档系统的权限设计就是“自主访问控制”模型的典型应用。
Windows的文件权限
然而DAC最大缺陷是权限控制分散,不便于管理。例如在文档权限管理中,我们无法将一组文件设置成统一权限开放给指定的一群用户。
强制访问控制(MAC: Mandatory Access Control)
MAC弥补DAC权限控制过于分散的问题。
MAC设计中所有的访问控制策略都由系统管理员来制定,用户无法改变。每个对象都有权限标识,每个用户也会有权限标识,用户能否操作某个对象判断在于两个权限标识的关系,