欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

selinux管理

程序员文章站 2022-04-26 15:41:15
...

一、什么是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状态更改为警告
selinux管理

三、安全上下文

1.安全上下文的查看

  • ls -Z ##查看文件安全上下文
    selinux管理
  • ls -Zd ##查看目录的安全上下文
    selinux管理
  • ps auxZ | grep vsftpd ##查看ftp服务安全上下文
    selinux管理

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

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

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

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

selinux管理

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递归
selinux管理
selinux管理

4.删除文件安全上下文

semanage fcontext -d ‘/westos(/.*)?’ ##删除内核上的安全上下文列表中的/westos
selinux管理

四、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功能的开关
selinux管理
selinux管理
注意: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

selinux管理

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管理
selinux管理
注意:此方法为临时更改,重启selinux后会失效,若要永久改变,可采用下文日志中插件提供的解决方法