【答】 1. DAC(Discretionary Access Control,自主访问控制) ① DAC是传统的Linux的访问控制方式,DAC可以对文件、文件夹、共享资源等进行访问控制。 ② 在DAC这种模型中,文件客体的所有者(或者管理员)负责管理访问控制。 ③ DAC使用了ACL(Access Control List,访问控制列表)来给非管理者用户提供不同的权限,而root用户对文件系统有完全自由的控制权。
2. MAC(Mandatory Access Control,强制访问控制) ① SELinux在内核中使用MAC检查操作是否允许。 ② 在MAC这种模型中,系统管理员管理负责访问控制,用户不能直接改变强制访问控制属性。 ③ MAC可以定义所有的进程(称为主体)对系统的其他部分(文件、设备、socket、端口和其它进程等,称为客体)进行操作的权限或许可。
3. DAC和MAC的其它区别 ① DAC的主体是真实有效的用户和组ID,MAC的主体是安全上下文,两者的UID是各自独立的。 ② DAC的访问控制模式是rwxrwxrwx,MAC的访问控制模式是user:role:type。