1、针对文件,会对系统中每个文件添加安全上下文(context)
2、针对进程,会对系统中的每个进程添加安全上下文(context)
3、会在系统服务上设置sebool开关
4、当进程的安全上下文与文件安全上下文不匹配时,进程无法访问此文件
5、sebool会限制服务不安全功能,如果无需此功能,必须调整sebool的值
####如何管理selinux#####
selinux的开关
vim /etc/sysconfig/selinux
SELINUX=enforcing #selinux开启,级别为强制
SELINUX=permissive #selinux开启,级别为警告
SELINUX=disabled #selinux关闭
注意:当selinux每一次重新设置后,都需要重启系统
SELINUX 有【disabled】、【permissive】、【enforcing】3种选择。
disabled:不启用SELINUX功能
permissive:SELINUX有效,但是即使你违反了策略,它让你继续操作,但是把你的违反的内容记录下来。在我们开发策略的时候非常的有用。相当于Debug模式。
enforcing:当你违反了策略,你就无法继续操作下去。
selinux中对文件安全上下文的设定:
touch /mnt/westos1
344 mv /mnt/westos1 /var/ftp/
345 lftp 172.25.254.217
touch /mnt/westos2
cp /mnt/westos2 /var/ftp
lftp 172.25.254.217
touch /var/ftp/file
353 lftp 172.25.254.217
354 ls -Z /var/ftp
在/mnt里建立两个文件westos1和westos2,在/var/ftp里建立一个file文件。将westos1‘移动‘到/var/ftp中,在命令行使用ls命令可以查看到westos1,但是使用lftp登陆到ftp服务器时无法查看到westos1,只可查看到file,但是将/mnt下的westos2‘复制‘到/var/ftp中时。登陆ftp服务器也可以查看到westos2
ftp服务器中看不见westos1的原因在于westos1在/mnt中建立,和/var/ftp目录下的文件又不一样的安全上下文,两者的安全上下文不匹配,所以在ftp服务器中无法查看到westos1。westos2可以看到是因为westos2时复制过去的,复制过去之后就会同步/var/ftp目录的安全上下文,所以在ftp服务器中可以看见westos2。
注意:单纯的复制文件时,SELinux 的 type 字段是会继承目标目录的(即会变成和所到的目录的一样); 如果是移动,那么连同 SELinux 的类型也会被移动过去。
355 semanage fcontext -l | grep /var/ftp/ ###查看/var/