SElinux设置

SElinux:

SElinux是内核级加强型防火墙,更改配置文件后必须重启。
安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。
SELinux主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。

SElinux三种模式:

  • enforcing——Linux下SElinux所设置的安全策略都会被启用.所有与SElinux安全策略有关的服务或者程序都会被策略阻止.也就是,所有操作都会进行权限检查。(enforing下ftp不能进行写操作)
  • permissive——Linux下SElinux所设置的安全策略都会被启动,但是所有与SElinux安全策略有关的服务或者程序不会被策略阻止,但是会收到警告.也就是,所有操作都被允许(即没有MAC),但是如果有违反权限的话,会记录日志
  • disable——关闭 SElinux,相当于系统没有安装 SElinux一样

将SElinux设置为enforing后,将其他文件移入/var/ftp中,此时匿名用户登陆后看不到此文件:

server中:
touch /westos
mv /westos /var/ftp
desktop中;
lftp 172.25.254.128   #看不到westos

安全上下文——SELinux 的核心:

安全上下文有四个字段,分别用冒号隔开。
例:

system_u:object_r:public_content_t:s0
   用户:   角色:      类型:       级别

查看/var/ftp中的文件安全上下文

ls -Z /var/ftp 

在这里插入图片描述

文件安全上下文由文件创建的位置和创建文件的进程所决定。而且系统有一套默认值,用户也可以对默认值进行设定。

ps auxZ | grep vsftpd #查看进程安全上下文

在这里插入图片描述

只有当文件安全上下文与进程安全上下文相互对应,进程才可以使用文件。

临时更改SElinux模式:

        getenforce   #查看当前SElinux模式
   ---->enforcing
        setenforce 0 #更改SElinux模式为pemissive
        getenforce
   ---->permissive
        setenforce 1 #更改SElinux模式为enforcing
        getenforce
   ---->enforcing

SElinux设置_第1张图片

查看警告信息:

#此时SElinux是permissive模式
cat /var/log/audit/audit.log         

SElinux设置_第2张图片

修改文件安全上下文(临时的):

chcon -t public_content_t /avr/ftp/westos1 

SElinux设置_第3张图片

修改目录安全上下文(临时的):

mkdir /westos
touch /westos/westosfile{1..5}
ls -Zd /westos

vim /etc/vsftpd/vsftpd.conf
####
anon_root=/westos
####
lftp 172.25.254.128 不能访问
setenforce 0

chcon -t public_content_t /westos -R
ls -Zd /westos

把SElinux重启一次,安全上下文又变回default_t

修改安全上下文:

semanage fcontext -l | grep /var/ftp

SElinux设置_第4张图片

semanage fcontext -l | grep /westos    
semanage fcontext -a -t public_content_t /westos  #创建
semanage fcontext -d -t public_content_t /westos  #删除
semanage fcontext -l | grep /westos #只改变了westos目录的安全上下文
restorecon -RvvF /westos            #R递归、vv显示过程、F刷新——刷新目录

rm -fr /westos
mkdir /westos
touch /westos/file{1..5}

semanage fcontext -a -t public_content_t '/westos(/.*)?'
restorecon -RvvF /westos  

控制链接后各自的家目录:

getsebool -a | grep ftp      #对家目录的控制和链接
ftp_home_dir --> off
setsebool -P ftp_home_dir on #本地用户可以写,可以删除

SElinux设置_第5张图片
SElinux设置_第6张图片

SElinux排错——permissive(由一个插件提供的)

rpm -qa | grep setroubleshoot

在这里插入图片描述

你可能感兴趣的:(Linux)