SELinux (Security-Enhanced Linux)是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到

 

通过ls -Z 可以看到文件的selinux权限

-rw-r--r--. root root system_u:object_r:admin_home_t:s0 install.log

 system_u:object_r:admin_home_t:s0 为selinux权限,用:分隔为四段

    system_u:

            指的是SElinux用户,root表示root账户身份,user_u表示普通用户无特权用户,system_u表示系统进程,通过用户可以确认身份类型,一般搭配角色使用。身份和不同的角色搭配时有权限不同,虽然可以使用su命令切换用户但对于SElinux的用户并没有发生改变,账户之间切换时此用户身份不变,在targeted策略环境下用户标识没有实质性作用

    object_r:

        object_r一般为文件目录的角色、system_r一般为进程的角色,在targeted策略环境中用户的角色一般为system_r。用户的角色类似用户组的概念,不同的角色具有不同的身份权限,一个用户可以具备多个角色,但是同一时间只能使用一个角色。在targeted策略环境下角色没有实质作用,在targeted策略环境中所有的进程文件的角色都是system_r角色

    admin_home_t:

        文件和进程都有一个类型,SElinux依据类型的相关组合来限制存取权限

    s0:

        跟MLS、MCS相关的东西

 

相关命令

1、ls -Z或者ls --context

        用于显示文件的selinux权限

2、chcon    更改文件的selinux权限

        [root@localhost ~]# ls -Z /mnt/www
        -rw-r--r--. root root unconfined_u:object_r:usr_t:s0   index.html

        [root@localhost ~]# chcon -R -t usr_t /mnt/www/

3、 restorecon

       恢复文件原来的selinx权限,前提是该文件的权限在策略里有定义

4、  star

        tar在selinux下的命令,能把文件的selinux标签一起备份起来

5、cp -Z --context=CONTEXT

        在复制文件时指定目的地文件的selinux权限

6、find --context

        查找指定selinux权限的文件

7、id

        用来查看当然用户的selinux权限

8、sestatus

        显示当前的selinux信息

         相关参数-d   -v