Chinaunix首页 | 论坛 | 博客
  • 博客访问: 772968
  • 博文数量: 143
  • 博客积分: 2077
  • 博客等级: 大尉
  • 技术积分: 2393
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-28 12:57
文章存档

2016年(2)

2015年(3)

2014年(3)

2013年(41)

2012年(94)

分类: LINUX

2012-10-17 21:02:28

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。
阅读(1629) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~