SELinux的工作方式
SELinux是在进行程序、文件等权限设置一句的一个内核模块。
SELinux的模式
Enforcing:强制模式,记录违规日志,并强制拒绝违规操作。
Permissive:许可模式,记录违规日志,但会允许所有违规操作。
Disabled:禁用模式,系统不受SELinux的保护。
实验环境:
[root@localhost ~]# vim /etc/sysconfig/selinux
SELINUX=enforcing
[root@localhost ~]# reboot
[root@localhost ~]# getenforce
Enforcing
在虚拟机里搭建好yum源
[root@localhost ~]# yum install vsftpd lftp -y ##安装ftp和lftp
[root@localhost ~]# systemctl start vsftpd ##开启ftp
[root@localhost ~]# systemctl enable vsftpd
报错:[root@localhost ~]# lftp 172.25.254.228
lftp 172.25.254.228:~> ls
`ls' at 0 [Delaying before reconnect: 29] ##说明没有连接上,防火墙阻止
[root@localhost ~]# firewall-cmd --permanent --add-service=ftp ##将ftp服务加进防火墙
success
[root@localhost ~]# firewall-cmd --reload ##重新加载防火墙
success
注意:改过selinux模式后需要重新启动才能更改模式。要将ftp服务加进防火墙并且要重新加载火墙才能执行ftp操作。
1.SELinux状态
[root@localhost ~]# touch /mnt/westos3
[root@localhost ~]# mv /mnt/westos3 /var/ftp/westos3
##移动是重命名的过程,权限不会改变,复制是新建的过程
[root@localhost ~]# setenforce 1 ##强制模式
[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]# lftp 172.25.254.228
lftp 172.25.254.228:~> ls
drwxr-xr-x 2 0 0 6 Mar 07 2014 pub ##不能看到文件
lftp 172.25.254.228:/> quit
[root@localhost ~]# setenforce 0 ##警告模式,不会被拒绝
[root@localhost ~]# getenforce
Permissive
[root@localhost ~]# lftp 172.25.254.228
lftp 172.25.254.228:~> ls
drwxr-xr-x 2 0 0 6 Mar 07 2014 pub
-rw-r--r-- 1 0 0 0 May 06 08:51 westos3 ##可以看到文件
lftp 172.25.254.228:/> quit
[root@localhost ~]# cat /var/log/audit/audit.log ##查看警告日志
[root@localhost ~]# > /var/log/audit/audit.log ##清空日志
第一步:先用强制模式查看不到文件,记录违规日志
第二步:再用警告模式可以查看到文件,记录违规日志
2.SELinux安全上下文
临时修改安全上下文:
[root@localhost ~]# yum install vsftpd lftp -y
[root@localhost ~]# systemctl start vsftpd ##开启ftp服务