图
16.5.2
、
SELinux
运作的各组件之相关性
(
本图参考小州老师的上课½义
)
上图的重点在『主体』如何取得『目标』的资源访问权限!
由上图我们可以发现,
(1)
主体½程必须
要通过
SELinux
政策内的规则放行后,就可以与目标资源½行安全性本文的比对,
(2)
若比对失败
则无法存取目标,若比对成功则可以开始存取目标
。问题是,最终能否存取目标还是与文件系统的
rwx
权限设定有关喔!如此一来,加入了
SELinux
之后,出现权限不符的情况时,你就得要一步一步的
分析可能的问题了!
.
安全性本文
(Security Context)
CentOS 7.x
的
target
政策已经帮我们制订好非常多的规则了,因此你只要知道如何开启
/
关闭某项规
则的放行与否即可。
那个安全性本文比½麻烦!因为你可能需要自行配置文件案的安全性本文呢!
为何需要自行设定啊?
举例来说,你不也常常½行文件的
rwx
的重新设定吗?这个
安全性本文你就
½他想成
SELinux
内必备的
rwx
就是了
!这样比½好理½啦。
安全性本文存在于主体½程中与目标文件资源中。½程在内存内,所以安全性本文可以存入是没问题。
那文件的安全性本文是记录在哪里呢?事实上,
安全性本文是放置到文件的
inode
内的
,因此主体
½程想要读取目标文件资源时,同样需要读取
inode
,
这
inode
内就可以比对安全性本文以及
rwx
等权限值是否正确,而给予适当的读取权限依据。
那么安全性本文到底是什么样的存在呢?我们先来看看
/root
底下的文件的安全性本文好了。
观察
安全性本文可使用『
ls -Z
』去观察如下:
(
注意:你必须已经启动了
SELinux
才行!若尚未启动,
这部份请稍微看过一遍即可。底下会½绍如何启动
SELinux
喔!
)
#
先
来观
察一下
root
家目
录
底下的『
文件
的
SELinux
相
关
信息』
[root@study ~]#
ls
-
Z
-
rw
-------
. root root
system_u:object_r:admin_home_t:s0
anaconda
-
ks.cfg
-
rw
-
r
--
r
--
. root root
system_u:object_r:admin_home_t:s0
initial
-
setup
-
ks.cfg
-
rw
-
r
--
r
--
. root root
unconfined_u:object_r:admin_home_t:s0
regular_express.txt
#
上述特殊字体的部分,就是安全性本文
的
内
容!
鸟
哥
½
列出
数个预设
的
文件
而已,
#
本
书学习过
程中所
写
下的
文件
则没
有列在上
头
喔!
如上所示,安全性本文主要用冒号分为三个字段,这三个字段的意义为: