5.3. selinux

selinux使用委任式访问控制(Mandatory Access Control,MAC),它可以针对特定的程序 域特定的文件资源来进行权限的管理。

5.3.1. selinux的工作模式

selinux采用委任式访问控制来管理程序,它控制的主体是程序,目标是文件资源。

主体

selinux主要管理的是程序

目标

主体程序访问的目标资源一般就是文件系统

策略

不同策略有详细的规则来指定不同的服务开放某些资源的访问与否

安全上下文

主体与目标的安全性环境必须一致才能顺利访问目标

5.3.2. 安全性环境

[root@centos-150 ~]# ll -Z anaconda-ks.cfg
-rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg

安全性环境主要用冒号分割三个字段

Identify:role:type
身份识别:角色:类型

身份识别:
    root: 表示root的账号身份
    system_u: 表示系统程序方便的识别,通常是程序。
    user_u: 代表一般用户的相关的身份

角色:
    object_r: 代表的是文件或者目录等文件资源
    system_r: 代表的是程序

类型:
    一个程序能不能读取到文件资源,主要和类型字段有关。

5.3.3. selinux的启动、关闭和查看

selinux有三种模式。

  • enforcing: 强制模式

  • permissive: 宽容模式

  • disabled: 关闭

5.3.3.1. 查看

[root@centos-150 ~]# getenforce
Disabled

5.3.3.2. 设置

[root@centos-150 ~]# setenforce 1

Note

setenforce无法在disabled模式切换到其他模式

5.3.3.3. 永久修改

[root@centos-150 ~]# vim /etc/sysconfig/selinux

5.3.4. selinux 类型的修改

5.3.4.1. chcon

5.3.4.2. restorecon

5.3.4.3. semanage

练习