Linux中selinux的初步介绍

一、什么是selinux

selinux是linux系统内核级加强型防火墙

selinux作用:

1.限制程序访问,程序访问文件必须有匹配的上下文

2.限制程序功能,把程序不安全功能屏蔽

二、selinux的常用命令

1.selinux状态的查看

getenforce       ##查看状态

selinux的状态有三种:

enforcing         ##强制

permissive       ##警告

disabled           ##关闭

2.selinux状态的更改

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

vim  /etc/sysconfig/selinux

SELINUX=xxx

reboot

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

Linux中selinux的初步介绍_第1张图片

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

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

setenforce  0     ##将selinux状态更改为警告

三、安全上下文

1.安全上下文的查看

ls  -Z     ##查看文件安全上下文

ls  -Zd    ##查看目录的安全上下文

ps auxZ | grep vsftpd        ##查看ftp服务安全上下文

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

chcon -t 安全上下文 file        ##临时更改文件的安全上下文

Linux中selinux的初步介绍_第2张图片

chcon -t 安全上下文 dir -R    ##临时更改递归目录的安全上下文

Linux中selinux的初步介绍_第3张图片

注意:重启selinux(关闭,reboot,开启,reboot)后安全上下文会恢复默认设置

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

mkdir /westos

touch /westos/file{1..3}    

ls -Zd /westos                ##查看/westos/目录本身的安全上下文

ls -Zd /westos/*             ##查看/westos/目录中文件的安全上下文

Linux中selinux的初步介绍_第4张图片

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递归

Linux中selinux的初步介绍_第5张图片

4.删除文件安全上下文

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

四、selinux影响程序功能

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

getsebool -a | grep ftp                ##查看关于ftp的所有sebool值

Linux中selinux的初步介绍_第6张图片

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

Linux中selinux的初步介绍_第7张图片

vim /etc/vsftpd/vsftpd.conf

anon_upload_enable=YES

anon_world_readable_only=NO

chgrp ftp /var/ftp/pub

chmod 775 /var/ftp/pub

Linux中selinux的初步介绍_第8张图片

getsebool -a|grep ftp

setsebool -P ftpd_anon_write on

chcon -t public_content_rw_t /var/ftp/pub/

systemctl restart vsftpd

Linux中selinux的初步介绍_第9张图片

Linux中selinux的初步介绍_第10张图片

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

3./var/log/messages中,可以通过setroubleshoot-server插件查找解决方案

Linux中selinux的初步介绍_第11张图片

查看日志报错,可以发现插件会给我们提供解决错误的建议:

             ##打开ftp服务的所有功能

         ##永久更改安全上下文

            ##刷新使更改立即生效

注意:日志中的建议只提供更改方法,不注重安全性

所有的报错信息在/var/log/audit/audit.log里,但是只会报错,不会告诉你怎么解决

cat /var/log/audit/audit.log

Linux中selinux的初步介绍_第12张图片

你可能感兴趣的:(Linux中selinux的初步介绍)