一.SELINUX
定义:是linux中提供的内核强制访问控制系统,是Linux的内核模块,也是linux系统的一个安全子系统。
状态:Disabled ##不启动控制系统
Enforcing ##启动控制系统,处于强制状态。如果违反selinux的规则则操作被阻止并记录在日志中
permissive ##启动控制系统,处于警告模式。可以继续执行,但是会把违反的操作记录下来
SElinux工作模式可以在==/etc/selinux/config==中设定,如果想从disable切换到enforcing或者permissive,需要重启系统.反过来也一样,enforcing或者permissive模式可以通过setenforce 1|0命令快速切换。
二.安全上下文
1.安全上下文的定义及查看
(1)定义
安全上下文是一个简单的、一致的访问控制属性,主要体现在以下两点:
a.限制文件访问。文件必须拥有相匹配的安全上下文才能being识别访问。
b.对服务,限制认为不安全的服务功能, 设置开关。 开关默认关闭需要时可以打开。
(2)查看
ls -Z ##检查文件、目录的安全上下文;
ps -Z ##检查进程的安全上下文;
mv:安全上下文则不变;
cp:会重新生成安全上下文。
2.disable下文件的安全上下文
(1)查看selinux的工作状态
[root@localhost vsftpd]# getenforce
Disabled
(2)新建文件
[root@localhost vsftpd]# touch /mnt/file1
[root@localhost vsftpd]# lftp 172.25.4.104
lftp 172.25.4.104:~> ls
drwxr-xr-x 2 0 0 42 Jun 23 2016 pub
lftp 172.25.4.104:/> exit
[root@localhost vsftpd]# mv /mnt/file1 /var/ftp
[root@localhost vsftpd]# lftp 172.25.4.104 ##匿名用户进行访问并且可以看到目录
lftp 172.25.4.104:~> ls
drwxr-xr-x 2 0 0 42 Jun 23 2016 pub
-rw-r--r-- 1 0 0 0 Apr 21 14:17 file1
lftp 172.25.4.104:/> exit
[root@localhost ~]# lftp 172.25.4.104 -u student ##本地用户进行访问并且可写
Password:
lftp student@172.25.4.104:~> ls
lftp student@172.25.4.104:~> put /etc/passwd
2005 bytes transferred
lftp student@172.25.4.104:~> ls
-rw-r--r-- 1 1000 1000 2005 Apr 21 16:11 passwd
(3)查看安全上下文
[root@localhost vsftpd]# ls -Z /var/ftp
drwxr-xr-x root root ? pub
-rw-r--r-- root root ? file1
在查询/var/ftp安全上下文时,因为selinux处于disable状态则无安全上下文,也不需要进行安全上下文的匹配,文件的服务及功能不会受到任何限制
3.enforcing下文件的安全上下文
(1)更改SELINUX状态
[root@localhost ~]# vim /etc/sysconfig/selinux
[root@localhost ~]# reboot