一.SELinux的类型

  1. targeted  : redhat默认使用,只是对一些比较敏感的进程做了SELinux限制。即部分使用SELinux。
  2. strict  : 全部受SELinux限制。这种很麻烦,不太好控制。
  3. mils :  主要是军方使用,是更为严格的全面SELinux 。

 

二.SELinux的状态

SELinux:Security Entenced Linux

   .SELiux有两种状态:1.enforcing  2.permissive

     enforcing:强制实行SELinux规则。

     permissive:只是警告违反SELinux规则但并不阻止。

 

三.查看现在系统SELinux状态

  1. getenforce

      getenforce显示是disabled,表示SELinux还没有开启,若要开启就要改动它的配置文件/etc/sysconfig/selinux或/etc/selinux/config,将SELinux=enforcing或permissive,都将表示开机启用。

  2.setenforce

    setenforce  0:表示permissive状态。

    setenforce 1:表示enforcing状态。

  • 如果要这些设置长久有效,需要改动配置文件/etc/selinux/config。

vim /etc/selinux/config

image

  • 如果想要用图形换界面设置,使用命令:system-config-selinux.
  • 如果你想在开机时就改动对selinux的配置,可以在启动时改动按E改动grub文件:

        在kernel 后添加 selinux=o(禁用selinux)或selinux=1(启用selinux)

    如果你已经知道selinux的配置文件设置的是启用selinux,你只是想改变它的状态:

     kernel 后添加:

                   enforce=1(enfocing状态)

                   enforce=0(permissive状态)

四.SELiunx的应用。

  1.    SELinnux实现是基于ext3的扩展属性exttr,查看文件的扩展属性使用命令:lsattr.

从Linux2.6内核以后将selinux直接做进了内核。image

   2.查看文件的跟多selinux属性

文件的扩展属性在selinux中叫做label(标签),label和policy(策略)组成了selinux的安全上下文context。

 

      ls   –z (可以查文件或目录的label)

image

注:冒号将label分成了三段:第一段是属主,这个属主不同于Linux中的属主,是selinux特有的属主;第二段是role,是subject或object;第三段是domian或type,所属的域。

 

     ls   --context (查看安全上下文)

    image

 

     ls    --scontext  (只查看安全上下文)

    image

 

     ls     --lcontext  (显示更多的属性信息)

     image

 

 

3.更改label

chcon

-t :该类型   

-R:recursive,递归。

-u:改变用户

 

chcon  -t

image

image

 

--reference

chcon  --reference a.selinux   b.selinux :以a为准更改b的label

image

 

restorecon :恢复默认标签

image

这些默认标签设置在/etc/selinux/targeted/contexts/files下的file_contexts.homedirs中

vim  /file_contexts.homedirs

image

 

 

4.进程的标签

      ps  -auxz

 

image

注:unconfiined:表示没有label,它不受SELlinux控制。因为我们的RedHat默认选的是targets。

 

 

5..用户的安全上下文

       id  用户名

     image

 

6.policy

   策略就是一条条的规则(role)。其中一些是二进制的(布尔型)

,这样的方式可以让规则立即生效,而不需要重启系统。

 

   getsebool  -a   (查看所有能用布尔型调整的)

   image  

 

更改某个服务的布尔值

   命令格式: getsebool    服务名    on|0ff

                 on:开启           off:关闭

            也可以用数值

                    1:开启        0:关闭

image

注:这样的更改都是临时有效地,重启系统后就没了。想要更改长久有效,则在执行命令是加 -p选项。

image

 

 

  五.图形化更改

      system-config-selinux

image

image

注:这样的图形修改如SELinux和防火墙的设置都会因为默认的设置而将图形化的设置屏蔽了,所以并不建议在这两个方向上使用图形化的设置。