linux之selinux

一、selinux的基本概念

1、什么是selinux ?

SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他。SELinux提供了比传统的UNIX权限更好的访问控制。

2、selinux工作模式:

1)、enforcing:如果违反selinux策略则无法继续执行操作。
2)、permissive:如果违反selinux策略则给予警告,但操作任然可以继续。
3)、disable:selinux安全访问策略不生效。

二、selinux上下文访问规则

1、selinux临时修改文件标签
ps -auxZ | grep ftp		查看ftp服务的访问规则
ls -Z /var/ftp			查看该目录的标签
ls -i file				查看文件的id和标签
restorecon -vR /var/ftp/		刷新此目录下的所有文件标签
chcon -t public_content_t file	临时更改file的标签为public_contemt_file

操作如下:
ps -auxZ | grep ftp 查看ftp服务的访问规则
在这里插入图片描述
ls -Z /var/ftp 查看该目录的标签
在这里插入图片描述
ls -i file 查看文件的id和标签
在这里插入图片描述
restorecon -vR /var/ftp/ 刷新此目录下的所有文件标签在这里插入图片描述在这里插入图片描述
linux之selinux_第1张图片
chcon -t public_content_t file 临时更改file的标签为public_contemt_file在这里插入图片描述在这里插入图片描述

2、更改ftp共享目录,并且永久设定其标签
mkdir /ftpdir/pub -p			创建目录
vim /etc/vsftpd/vsftpd.conf
	anon_root=/ftpdir
ls -Zd /var/ftp					查看此目录标签
ls -Zd /ftpdir					查看此目录标签
restorecon -vR /var/ftp/		刷新此目录下的所有文件标签
chcon -t public_content_t /ftpdir -R	 临时修改此目录和下边文件的标签

semanage fcontext -l | grep ftp	  		 查看ftp标签信息
semanage fcontext -a -t public_content_t '/ftpdir(/.*)?' 系统永久修改标签

操作如下:
restorecon -vR /var/ftp/ 刷新此目录下的所有文件标签
linux之selinux_第2张图片
chcon -t public_content_t /ftpdir -R 临时修改此目录和下边文件的标签
在这里插入图片描述
semanage fcontext -l | grep ftp 查看ftp标签信息
linux之selinux_第3张图片

3、selinux的bool模型
getsebool -a | grep ftp				查看selinux设置ftp服务的bool列表
setsebool ftpd_anon_write on/1  	临时开启匿名用户的上传功能
setsebool -P ftpd_anon_write on/1 	永久开启匿名用户的上传功能

getenforce				查看selinux的工作模式状态
setenforce 1			设置selinux工作模式是enforcing
setenforce 0			设置selinux工作模式是Permissive

chcon -t public_content_rw_t /var/ftp/pub
ls -Zd /var/ftp/pub

getsebool -a | grep ftp 查看selinux设置ftp服务的bool列表
linux之selinux_第4张图片
setsebool ftpd_anon_write on/1 临时开启匿名用户的上传功能
linux之selinux_第5张图片
setsebool -P ftpd_anon_write on/1 永久开启匿名用户的上传功能
linux之selinux_第6张图片
linux之selinux_第7张图片

4、selinux报错日志和改错日志
yum install setroubleshoot-server.x86_64 -y	下载selinux错误处理服务
/var/log/messages				改错日志
/var/log/audit/audit.log		记录日志

linux之selinux_第8张图片
在这里插入图片描述
/var/log/messages 告诉我们问题发生的原因
linux之selinux_第9张图片
/var/log/audit/audit.log 正常记录操作行为
linux之selinux_第10张图片

你可能感兴趣的:(linux操作系统)