网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
4 selinux的实现原理是怎样的,为什么它能?
4.1 主体与客体
访问控制包括三个要素:主体、客体和控制策略。
(1)主体S(Subject)。是指提出访问资源具体请求。是某一操作动作的发起者,但不一定是动作的执行者,可能是某一用户,也可以是用户启动的进程、服务和设备等。
(2)客体O(Object)。是指被访问资源的实体。所有可以被操作的信息、资源、对象都可以是客体。客体可以是信息、文件、记录等集合体,也可以是网络上硬件设施、无限通信中的终端,甚至可以包含另外一个客体。
(3)控制策略A(Access Control Policy)。是主体对客体的相关访问规则集合,即属性集合。访问策略体现了一种授权行为,也是客体对主体某些操作行为的默认。
4.2 自主访问控制DAC实现的原理
DAC的主体是使用者,客体是被访问的资源。
DAC访问策略下,文件的拥有者可以自主地说明它所拥有的资源允许系统中的哪些用户以何种权限进行共享。
linux下的文件是基于权限位实现的访问控制。
执行一下ls -l查看目录下的文件列表,可以看到一行信息最左侧的就是访问权限位
zhoushimin@zsm:tools$ ls -l
total 728236
drwxrwxr-x. 1 zhoushimin zhoushimin 454 Jul 6 20:20 anaconda3
-rw-rw-r--. 1 zhoushimin zhoushimin 667976437 Jul 2 15:56 Anaconda3-5.3.1-Linux-x86_64.sh
-rwxrwxr-x. 1 zhoushimin zhoushimin 244 Jul 19 10:4