一、selinux
1.selinux
安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。
作用:
(1)针对文件,会对系统中每个文件添加安全上下文(context)
(2)针对进程,会对系统中的每个进程添加全上下文(context)
(3)会在系统服务上设定sebool开关
(4)当进程安全上下文和文件的安全上下文不匹配时,那么进程无法访问此文件
(5)sebool会限制服务的不安全功能,如果需要用此功能,必须调整sebool值
2.管理selinux
(1)
selinux的开启和关闭
vim /etc/sysconfig/selinux
SELINUX=enforcing ##selinux开启,级别为强制
SELINUX=permissive ##selinux开启,级别为警告
SELINUX=disabled ##selinux关闭,
setenforce 0|1 ##将内核状态由enforcing变为permissive,不需要重新启动
getenforce ##查看selinux的状态
注意:当selinux从关到开,或者从开到关,需要重启系统,开启状态下的两个选项不用重启电脑
(2)
selinux中对文件安全上下文的设定
##改变文件的认证使selinux可以识别他们(临时生效,重启selinux的enforcing状态后标记消失,即关闭再开启后,认证还是会失败)
chcon -t 安全上下文 文件
chcon -t public_content_t /var/ftp/file
永久更改文件安全上下文
semanage fcontext -l | grep /ftpdir ##查看文件认证
semanage fcontext -a -t public_content_t '/westos(/.*)?' ##只对目录本身作修改,里面的文件仍然没改变
restorecon -RvvF /westos/ ##对修改目录里的文件修改
在selinux状态为enforcing时让匿名用户可以下载和上传文件
(1)selinux的bool值的设定
sebool值是控制服务功能开关
getsebool | grep 服务名称
setsebool -P bool值 on |off
(2)
在selinux状态为enforcing时让匿名用户可以下载和上传文件
vim /etc/vsftpd/vsftpd.conf
chmod 775 /var/ftp/pub/
chgrp ftp /var/ftp/pub/
systemctl restart vsftpd
chcon -t public_content_rw_t /var/ftp/pub/
ls -Zd /var/ftp/pub/
getsebool -a | grep ftp
setsebool -P ftpd_anon_write 1 ##1为on