简介:
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。
自己的理解:
selinux
给每个目录和文件打上一个标记(t);
给每个进程打上标记
给每个用户打上标记
给每个资源(如端口)打上标记
记录谁谁谁可以干嘛干嘛。
操作:
A.文件操作
1)ls命令
在命令后加个-Z 或者加 –context
2)chcon
更改文件的标签
3)restorecon
当这个文件在策略里有定义是,可以恢复原来的 文件标签。
4)setfiles
跟chcon一样可以更改一部分文件的标签,不需要对整个文件系统重新设定标签。
5)fixfiles
一般是对整个文件系统的, 后面一般跟 relabel,对整个系统 relabel后,一般我们都重新启动。如果,在根目录下有.autorelabel空文件的话,每次重新启动时都调用 fixfiles relabel
6)star
就是tar在SELinux下的互换命令,能把文件的标签也一起备份起来。
7)cp
可以跟 -Z,–context=CONTEXT 在拷贝的时候指定目的地文件的security context
8)find
可以跟 –context 查特定的type的文件。
9)run_init
在sysadm_t里手动启动一些如Apache之类的程序,也可以让它正常进行,domain迁移。
B.进程domain的确认
程序现在在那个domain里运行,我们可以在ps 命令后加 -Z
C.ROLE的确认和变更
命令id能用来确认自己的 security context
D.模式切换
1)getenforce
得到当前的SELINUX值
2)setenforce
更改当前的SELINUX值 ,后面可以跟 enforcing,permissive 或者 1,0。
3)sestatus
显示当前的 SELinux的信息