Linux下的selinux

1.selinux
内核级加强型防火墙
1.针对文件,会对系统中每个文件添加安全上上下文(context)
2.针对进程,会对系统中的每个进程添加安全上下文(context)
3.会在系统服务中设定sebool开关
4.当进程安全上下文和文件的安全上下文不匹配时,那么进程无法访问此文件
5.sebool会限制的不安全功能,如果需要使用此功能,必须调整sebool值

2.管理selinux
selinux的开关
vim /etc/sysconfig/selinux
SELINUX=enforcing ##selinux开启,级别为强制
SELINUX=permissive ##selinux开启,级别为警告
SELINUX=disabled ##selinux关闭
setenforce 0|1 ##更改selinux当前的级别0警告,1强制
getenforce ##查看当前selinux的状态
注意当selinux从开到关,或者从关到开必须==reboot系统,而0 1之间的切换不需要reboot。

3.selinux对于安全上下文的设定

临时更改适用于更该文件
chcon -t 安全上下文 文件
chcon -t public_content_t /var/ftp/file

永久更改文件安全上下文
semanage fcontext -l
semanage fcontext -a -t public_content_t /westos
restorecon -Rvvf /westos/

实验1:
selinux给每个文件加标签,标签匹配才能被访问,每个程序安全上下文要匹配
在这里插入图片描述
在开启selinux和vsftpd的情况下,建立/mnt/westos1,然后将/mnt/westos1/,移动到/var/ftp/下。
在这里插入图片描述
用lftp匿名登陆172.25.254.115 ,ls查看,发现不能看到westos1
在这里插入图片描述
而实际/var/ftp/是有westos1文件的
在这里插入图片描述
ls -Z /var/ftp/
在这里插入图片描述
发现 /var/ftp/下pub和westos1的安全上下文不同
此时setenforce 0改变selinux的级别为permissive警告级别,再次lftp 172.25.254.115 发现可以看到westos1
在这里插入图片描述
在这里插入图片描述
再次setenforce 1改为强制模式,就不能看到westos1了

更改westos1的安全上下文跟pub一样
在这里插入图片描述
再次lftp 172.25.254.115,ls发现可以看到westos1了。
在这里插入图片描述
实验2:
再打开selinux的情况下,在ftp服务器上也不能上传文件
在这里插入图片描述
发现是enforcing的状态
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
不能上传。
切换状态到disabled
发现可以上传
在这里插入图片描述
以上就是安selinux对文件以及功能的影响
以及临时解决selinux的问题

如何永久解决安全上下文的问题

semanage fcontext -l | grep /var/ftp 查看系统默认发布目录设置的标签
在这里插入图片描述
自己创建一个/westos 并且在里面创建文件file{1…3}

semanage fcontext -l | grep /westos 发现创建的/westos并没有这个标签
使用semanage fcontext -a -t public_content_t '/westos(/.)?’ 将自己建立的目录加上标签/westos(/.)?意思为/westos目录以及目录本身
semanage fcontext -l | grep /westos可以看到自己创建的/westos标签也和/var/ftp一样了

在这里插入图片描述
ls -Zd /westos

在这里插入图片描述
restorecon -RvvF /westos 刷新
在这里插入图片描述
成功永久设置/westos安全上下文和/var/ftp一致

selinux设置为enforcing仍然可以登陆ftp服务器
使用getsebool -a | grep ftp查看所有ftp的功能的状态
在这里插入图片描述
setsebool -P ftpd_anon_write on 让匿名用户可以上传
在这里插入图片描述
在没更改到on之前,可以看到匿名用户是不能上传的
在这里插入图片描述
在这里插入图片描述
执行setsebool -P ftpd_anon_write on 之后再次lftp 172.25.254.115发现匿名用户可以上传文件。
在这里插入图片描述
执行chcon -t public_content_rw_t /var/ftp/pub让匿名用户具有读写这个目录的权力(必须设置)
enforcing状态下本地用户家目录上传和删除文件
setsebool -P ftp_home_dir on
在这里插入图片描述
在这里插入图片描述
与selinux相关的两个日志
/var/log/messages 系统日志,提供解决方案
/var/audit/audit.log为selinux真正的日志,不提供解决方案
yum install selinux
yum install setroubleshoot-server.x86_64

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值