selinux

1.定义

	selinux是内核级加强型火墙

2.selinux支持的三种模式

	getenforce
	enforcing ##强制开启 会警告你也会拒绝你
	permissive ##警告开启,会警告但不会拒绝
	disabled ##关闭

3.切换模式

	开启和关闭模式切换,需要重新启动
	两种开启模式可以相互转换,不需要重启动
	setenforce 0 ##警告
	setenforce 1 ##警告并拒绝

4.selinux对程序的影响

selinux对程序的影响:开启之后会给每一个文件加载一个标签
安全上下文 pubic_content
程序的安全上下文和文件的安全上下文是匹配的,才可以访问
程序的安全上下文和文件的安全上下文是不匹配,否则访问失败

	vim /etc/sysconfig/selinux
	selinux模式设置为disabled
	touch /mnt/westosfile
	mv /mnt/westosfile /var/ftp
	lftp 172.25.254.219
	ls 可以看到westosfile

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重启后查看
在这里插入图片描述

	vim /etc/sysconfig/selinux 设置成enforcing

在这里插入图片描述
重启后查看
在这里插入图片描述

	touch /mnt/westosfile1
	mv /mnt/westosfile2 /var/ftp
	lftp 172.25.254.219
	ls 可以看不到westosfile1

在这里插入图片描述
但是westosfile1确实存在
在这里插入图片描述
查看程序的上下文是否和目录上下文匹配
在这里插入图片描述
文件初始selinux上下文通常是父目录。将父目录的上下文指定给新创建的文件

	cd /var/ftp
	touch file
	ls -Z
	file 上下文是public_content_t

在这里插入图片描述

	touch /mnt/file
	ls -Z /mnt/file
	/mnt/file 上下文是mnt_t

在这里插入图片描述

	ls -Z
	westosfile1 的上下文是mnt_t

在这里插入图片描述

	chcon -t public_content_t westosfile1
	##临时修改文件westosfile1的上下文
	ls -Z
	westosfile2 的上下文变成public_content_t

在这里插入图片描述

	vim /etc/vsftpd/vsftpd.conf ##修改配置文件
	anon_root=/ftphome ##匿名用户登陆的家目录修改为/ftphome

在这里插入图片描述
在这里插入图片描述
lftp 172.25.254.119 ##匿名用户登陆
ls没东西
在这里插入图片描述

	ls -Zd /ftphome/ ##/ftphome/的上下文是default_t

在这里插入图片描述

	chcon -t public_content_t /ftphome/ -R
	##临时更改/ftphome/的安全上下文
	ls -Zd /ftphome/ ##/ftphome/的上下文是public_content_t

在这里插入图片描述
lftp 172.25.254.119##匿名用户登陆
ls 可以看见里边东西
在这里插入图片描述
查看临时设定的话重启之后是否文件的上下文改变

	vim /etc/sysconfig/selinux
	SELINUX=disbaled ##由原来的enforcing修改成disbale
	reboot

在这里插入图片描述

vim /etc/sysconfig/selinux
SELINUX=enforcing ##由原来的disbale修改成enforcing
reboot

在这里插入图片描述
reboot ##重启两次

lftp 172.25.254.177 ##匿名用户登陆
ls没东西 ##说明它是临时设定
在这里插入图片描述

ls -Zd /ftphome ##显示/ftphome的上下文是default_t
ls -Zd /var/ftp ##显示/var/ftp的上下文是public_content_t
在这里插入图片描述

匿名用户默认登陆/var/ftp时安全上下文匹配允许用户查看里边信息,那么如果修改/ftphome的安全上下文为public_content_t使得用户也可以查看/ftphome里边的信息。但是重起后失效

永久设定
查看/var/ftp安全上下文是如何永久设定的
在这里插入图片描述
永久更改/ftphome的安全上下文
semanage fcontext -a -t public_content_t ‘/ftphome(/.*)?’
restorecon -RvvF /ftphome ##读取里边内容使得永久设定生效
在这里插入图片描述
重启可以看到永久设定生效
在这里插入图片描述
selinux对服务的影响

对服务的影响:加程序的功能开关
getsebool 用于显示布尔值,setsebool用于修改布尔值
setsebool
getsebool -a | grep ftp

警告模式下匿名用户可以上传
setenforce 0 设置为警告模式
在这里插入图片描述
vim /etc/vsftpd/vsftpd.conf
匿名用户上传权限开启 服务允许
在这里插入图片描述
在这里插入图片描述

	chgrp ftp /var/ftp/pub/
	chmod 775 /var/ftp/pub修改权限

在这里插入图片描述

	lftp 172.25.254.219
	cd pub/
	put /etc/passwd 可以上传

在这里插入图片描述
强制模式下匿名用户不可以上传
setenforce 1 设置为强制模式
在这里插入图片描述

	lftp 172.25.254.219
	cd pub/
	put /etc/group
	553报错不可以上传

在这里插入图片描述
getsebool -a | grep ftp
在这里插入图片描述

setsebool -P ftp_anon_write on ##打开匿名用户上传功能开关 ,-P 永久开启

在这里插入图片描述

lftp 172.25.254.219
cd pub/
put /etc/group
553报错不可以上传

在这里插入图片描述

ls -Zd /var/ftp/pub/

在这里插入图片描述
chcon -t public_content_rw_t /var/ftp/pub/ ##原来是只读,修改成可写可读
在这里插入图片描述

lftp 172.25.254.219
cd pub/
put /etc/group ##上传成功

在这里插入图片描述
发生错误查看日志

/var/log/audit/audit.log 提供问题出在哪里
/var/log/messages 专门分析前面日志,提供解决方案
清空日志
清空日志:>/var/log/audit/audit.log
清空日志:>/var/log/messages
touch /mnt/file
mv /mnt/file /var/ftp

在这里插入图片描述

cat /var/log/audit/audit.log ##提供问题出在哪里

在这里插入图片描述

cat /var/log/messages ## 专门分析前面日志,提供解决方案

在这里插入图片描述

rpm -qa | grep settroubleshoot ##查看提供解决方案的软件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值