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