首页 理论教育 Linux内核安全模块分析:selinuxfs

Linux内核安全模块分析:selinuxfs

时间:2023-11-22 理论教育 版权反馈
【摘要】:SELinux创造的伪文件系统selinuxfs的作用是让用户态进程管理内核中的SELinux。普通开发人员一般不用关心selinuxfs,因为SELinux提供的库函数封装了对selinuxfs的使用。下面简单看看selinuxfs中的内容和作用。当用户态进程打开selinuxfs之上的文件时,SELinux会判断进程对文件客体是否有读/写操作许可。表7-3 selinuxfs文件值得仔细分析的是create、member和relabel这三个文件。pam软件会利用selinuxfs的member文件去查询某个/tmp的安全上下文。此外,selinuxfs中还有几个目录,见表7-4。

Linux内核安全模块分析:selinuxfs

在Linux系统中创造一种新的文件系统是一件相对容易的事。而类似proc和sys这样的伪文件系统的基本作用就是作为内核和用户态进程的接口,由于它们的存在,Linux的系统调用数量没有呈现爆炸式的增长。SELinux创造的伪文件系统selinuxfs的作用是让用户态进程管理内核中的SELinux。普通开发人员一般不用关心selinuxfs,因为SELinux提供的库函数封装了对selinuxfs的使用。下面简单看看selinuxfs中的内容和作用。

当用户态进程打开(系统调用open)selinuxfs之上的文件时,SELinux会判断进程对文件客体是否有读/写操作许可。当进程读(系统调用read)或写(系统调用write)文件时,如果这个文件和SELinux安全客体有关联的话,SELinux会判断进程是否有安全客体上的相关操作许可。

selinuxfs中包含的文件见表7-3。

7-3 selinuxfs文件

978-7-111-54905-5-Part02-123.jpg

值得仔细分析的是create、member和relabel这三个文件。这三个文件的用法相同,都是写入源安全上下文、目的安全上下文、客体类别,读回新的安全上下文。实际上它们和7.3.3节讲述的转换策略有关。create文件对应的是type_transition策略规则,member对应的是type_member策略规则,relabel对应的是type_change策略规则。

create文件的一种用法是用来参与制定进程的安全上下文的。进程先利用create文件得到新的安全上下文,再利用7.5.2节将讲述的/proc文件接口修改进程的某个安全上下文。(www.xing528.com)

member文件的用法比较罕见。在管理用户登录的pam软件中,可能会为不同的用户分配不同的/tmp目录,这些/tmp目录存在于不同的文件系统命名空间中,因为它们为不同的用户服务,所以也会有不同的安全上下文。看起来所有这些/tmp目录都是一类,实际又有所不同。pam软件会利用selinuxfs的member文件去查询某个/tmp的安全上下文。

relabel文件的使用例子是tty,用户登录后,系统会改变用户所使用的tty的安全上下文。

此外,selinuxfs中还有几个目录,见表7-4。

7-4 selinuxfs目录

978-7-111-54905-5-Part02-124.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈