SELinux与SELinux的运行模式
为了避免资源的误用而开发了SELinux.它可以针对特定的进程与特定的文件资源来进行权限的控制!即使你是root,那么在使用不同的进程时,你所能取得的权限并不一定是root,而要看当时该进程的设置而定。如此一来,我们针对控制的主体变成了进程,而不是用户。此外,这个主体进程也不能任意使用系统文件资源,因为每个文件资源也有针对该主体进程设置可取用的权限。
SELinux的运行模式
SELinux控制的主体是进程,而目标则是该进程能否读取的“文件资源”。
主体:可以理解为进程
目标:可以理解为文件系统
策略:targeted:针对网络服务限制较多,针对本机限制较少,是默认的策略。
strict:完整的SELinux限制,限制方面较为严格。
安全上下文:主体与目标的安全上下文必须一致才能够顺利访问。这个安全上下文有点类似文件系统的rwx.
查看安全上下文: #ls -Z
安全上下文主要用“:”分隔为三段
Identify:role:type
身份 : 角色 :类型
身份标识(Identify):相当于账号方面的身份标识,常见有三种类型
root:表示root的账号身份,如同上面显示的是root主文件夹下的数据
system_u:表示系统程序方面的标识,通常就是进程
user_u:代表的是一般用户账号相关的身份
角色(Role):通过这个字段,我们可以知道这个数据是属于程序、文件资源还是代表用户。
object_r:代表的是文件或目录等文件资源
system_r:代表的是进程,不过,一般用户也会被指定为system_r
类型(Type):在默认的targeted策略中,Identify与role字段基本上是不重要的。而类型字段很重要。基本上,一个主体进程能不能读到这个文件资源与类型字段有关。类型字段在文件与进程的定义为:
type:在文件资源上面成为类型
domain: 在主体程序中称为域(domain)
domain需要与type搭配,该程序才能够顺利读取文件资源。
通过身份标识与角色字段,我们约略可以知道某个进程所代表的意义:
身份识别 角色 在targeted下的意义
root system_r 代表root账号登陆时所取得的权限
system_u system_r 由于为系统账号,因此是非交互式的系统运行程序
user_u system_r 一般可登陆用户的进程
由可执行文件触发一个进程,该进程会受到很多已制定好的策略的限制,其中包括可以读取的目标资源类型,假如允许读取目标文件,该进程就可以读取此目标文件,但能不能读到正确的数据,还需要看rwx。
阅读(1662) | 评论(0) | 转发(0) |