1.基本SELINUX安全性概念
SELINUX(安全性增强型linux,内核型的加强性防火墙)是可保护系统安全性的额外机制,在某种程度上,它可以被看作是与标准权限并行的权限系统。在常规模式中,以用户身份运行进程,并且系统上的文件和其他资源都设置了权限(控制哪些用户对哪些文件具有哪些访问权,SELINUX的另一个不同之处在于若要访问文件,必须具有普通访问权限和SELINUX访问权限。因此,即使以超级用户身份root运行进程,根据进程以及文件或资源的SELINUX安全性上下文可能拒绝访问文件或资源)标签
2.selinux的模式
Disabled 不警告不拒绝
Enforcing 1强制不可以访问
Permissive 0警告但可以访问
3.更改selinux状态
(1)在文件中修改selinux状态
<1>首先删除/etc/vsftpd中的内容,再重新下载,避免没有恢复成初始的设置,影响接下来的操作
[root@sshd_server ~]# rm -rf /etc/vsftpd
[root@station ~]# yum reinstall vsftpd
[root@station ~]# systemctl restart vsftpd
<2>检查selinux的状态
[root@station ~]# getenforce
<3>用匿名用户进行登陆,并查看家目录下的内容
[root@station ftp]# lftp 172.25.254.123
lftp 172.25.254.123:~> ls
lftp 172.25.254.123:/> quit
<4>进入/mnt目录下创建一个文件名为bai的文件,并将其移至/var/ftp目录下
[root@station ~]# cd /mnt
[root@station mnt]# ls
[root@station mnt]# touch bai
[root@station mnt]# mv /mnt/bai /var/ftp
<5>用匿名用户进行登陆,查看家目录时发现成功查看到刚刚建立的文件bai
[root@station ~]# lftp 172.25.254.123
lftp 172.25.254.123:~> ls
lftp 172.25.254.123:/> quit
<6>进入selinux配置文件并更改其状态,更改状态后需重启方可生效
[root@station ~]# vim /etc/sysconfig/selinux
[root@station ~]# getenforce
[root@station ~]# reboot
将SELINUX=disabled更改成SELINUX=enforcing
注意:
1.selinux是内核上的插件,如果需要改变selinux状态,必须对需要改变的主机进行重启
2.将selinux状态更改成enforcing时,开机时间会更久,需要耐心等待
<7>开机后查看selinux状态,会发现此时是enforcing
[root@station ~]# getenforce
<8>匿名用户再次进行登陆,依旧可以看到之前的内容(一定要重新开启vsftpd服务)
[root@station ~]# systemctl restart vsftpd
[root@station ~]# lftp 172.25.254.133
<9>再次在/mnt目录下创建一个文件,并移至/var/ftp目录下
[root@station ~]# cd /mnt
[root@station mnt]# touch gege
[root@station mnt]# mv /mnt/gege /var/ftp
<10>匿名用户再次进行登陆,发现无法看到新建的文件
[root@station mnt]# lftp 172.25.254.133
lftp 172.25.254.133:~> ls
lftp 172.25.254.133:/> quit
<11>利用ls -lZ /var/ftp/ 可以查看文件的安全上下文,会发现更改了selinux状态后的文件的上下文与更改前文件的上下文是不同的
[root@station mnt]# ls -lZ /var/ftp
(2)使用命令修改selinux状态
<1>为了不影响接下来的操作,删除之前移至/var/ftp下的文件
[root@station mnt]# cd /var/ftp
[root@station ftp]# ls
[root@station ftp]# rm -rf gege bai
[root@station ftp]# ls
<2>查看selinux并在/mnt下新创建一个文件,同样移至/var/ftp目录下
[root@station ~]# getenforce
[root@station ~]# cd /mnt
[root@s