SELinux 的基本介绍及用法
安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统
SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。
进行实验时首先
[root@localhost ~]# rm -rf /etc/vsftpd/
[root@localhost ~]# yum reinstall vsftpd.x86_64 -y ### 安装 vsftpd
[root@localhost ~]# systemctl start vsftpd ### 打开 vsftpd
[root@localhost ~]# systemctl stop firewalld ### 关闭防火墙
[root@localhost ~]# systemctl enable vsftpd ### 允许自启
[root@localhost ~]# systemctl disable firewalld ### 火墙不自启
安全上下文是 SELinux 的核心
安全上下文可分为「进程安全上下文」和「文件安全上下文」。
只有两者的安全上下文对应上了,进程才能访问文件。
文件安全上下文由文件创建的位置和创建文件的进程所决定。而且系统有一套默认值,用户也可以对默认值进行设定。
单纯的移动文件操作并不会改变文件的安全上下文。(移动只是重命名)
安全上下文有四个字段,分别用冒号隔开
[root@localhost ~]# touch /mnt/westos1 ### 在/mnt/下建立文件westos
[root@localhost ~]# rm -rf /var/ftp/* ### 为方便观察,清空/var/ftp/
[root@localhost ~]# mv /mnt/westos1 /var/ftp/ ###将/mnt/westos1 移动到/var/ftp/
[root@localhost ~]# lftp 172.25.254.236 ###连接后发现没有可显示的文件
lftp 172.25.254.236:~> ls
lftp 172.25.254.236:/> quit
[root@localhost ~]# cd /var/ftp/ ####但ftp的根目录里有westos1文件
[root@localhost ftp]# ls
westos1
[root@localhost ftp]# touch file1 ### 在/var/ftp/建立文件(非移动来的)
[root@localhost ftp]# ls
file1 westos1
[root@localhost ftp]# ll ### 虽然/var/ftp/里有两个文件
total 0
-rw-r--r--. 1 root root 0 May 11 21:22 file1