selinux管理

一、什么是selinux

selinux 内核级加强型防火墙
起到限制服务功能,限制服务访问两个功能(在使用lftp访问时体现)
selinux作用:
1.限制程序访问,程序访问文件必须有匹配的上下文
2.限制程序功能,把程序不安全功能屏蔽

二、selinux的常用命令

selinux状态的查看

getenforce ##查看状态

selinux的状态有三种:

  • enforcing ##强制

  • permissive ##警告

  • disabled ##关闭

selinux状态的更改

更改selinux状态需要更改linux配置文件:

vim /etc/sysconfig/selinux

SELINUX=xxx

reboot

注意:selinux的开启和关闭需要reboot重启,加载配置

注意:更改selinux状态时强制状态和警告状态可以使用命令相互切换,不需要重启:

setenforce 1 ##将selinux状态更改为强制

setenforce 0 ##将selinux状态更改为警告
这里写图片描述

三、安全上下文

1.安全上下文的查看

  • ls -Z ##查看文件安全上下文
    这里写图片描述
  • ls -Zd ##查看目录的安全上下文
    这里写图片描述
  • ps auxZ | grep vsftpd ##查看ftp服务安全上下文
    这里写图片描述

2.临时修改文件安全上下文

chcon -t 安全上下文 file ##临时更改文件的安全上下文
这里写图片描述
chcon -t 安全上下文 dir -R ##临时更改递归目录的安全上下文
这里写图片描述
注意:重启selinux(关闭,reboot,开启,reboot)后安全上下文会恢复默认设置

3.永久修改文件安全上下文

mkdir /westos
touch /westos/file{1..3}    
ls -Zd /westos                ##查看/westos/目录本身的安全上下文
ls -Zd /westos/*             ##查看/westos/目录中文件的安全上下文

这里写图片描述

semanage fcontext -a -t public_content_t ‘/westos(/.*)?’ ##在内核安全上下文列表中将/westos/目录及目录中所有文件的安全上下文更改为public_content_t
semanage fcontext -l | grep westos ##仅查看与westos有关的安全上下文
restorecon -FvvR /westos/ ##刷新/westos/目录的安全上下文,F指向,vv过程,R递归
这里写图片描述
这里写图片描述

4.删除文件安全上下文

semanage fcontext -d ‘/westos(/.*)?’ ##删除内核上的安全上下文列表中的/westos
这里写图片描述

四、selinux影响程序功能

1.relinux开启后会给每个程序设定sebool值,默认关闭所有功能

getsebool -a | grep ftp ##查看关于ftp的所有sebool值
setsebool -P ftp_home_dir on ##打开sebool值中ftp_home_dir功能的开关
setsebool -P ftp_home_dir off ##关闭sebool值中ftp_home_dir功能的开关
这里写图片描述
这里写图片描述
注意:ftp服务中,将ftpd_full_access(相当于总开关) 打开后,relinux将不再限制ftp功能

2.在selinux开启情况下,实现匿名用户lftp下载上传文件

yum install vsftpd -y
systemctl start vsftpd
systemctl enable vsftpd
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload

这里写图片描述

vim /etc/vsftpd/vsftpd.conf
    anon_upload_enable=YES
    anon_world_readable_only=NO
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub
getsebool -a|grep ftp
setsebool -P ftpd_anon_write on
chcon -t public_content_rw_t /var/ftp/pub/
systemctl restart vsftpd

这里写图片描述
这里写图片描述
注意:此方法为临时更改,重启selinux后会失效,若要永久改变,可采用下文日志中插件提供的解决方法

猜你喜欢

转载自blog.csdn.net/qq_38484607/article/details/81705192
今日推荐