文章目录
三、SELinux
1.访问控制模型
1.1 MAC(Mandatory Access Control) 强制访问控制
SElinux的属性(安全上下文Context)
- 特点
- SELinux在内核中使用MAC检查操作是否允许。
- 在MAC这种模型中,系统管理员管理负责访问控制,用户不能直接改变强制访问控制属性。
- MAC可以定义所有的进程(称为主体)对系统的其他部分(文件、设备、socket、端口和其它进程等,称为客体)进行操作的权限或许可。
1.2 DAC(Descriptionary Access Control ) 自主访问控制
传统权限
- 特点
- DAC是传统的Linux的访问控制方式,DAC可以对文件、文件夹、共享资源等进行访问控制。
- 在DAC这种模型中,文件客体的所有者(或者管理员)负责管理访问控制。
- DAC使用了ACL(Access Control List,访问控制列表)来给非管理者用户提供不同的权限,而root用户对文件系统有完全自由的控制权。
1.3 MAC&DAC区别
- DAC的主体是真实有效的用户和组ID,MAC的主体是安全上下文,两者的UID是各自独立的。
- DAC的访问控制模式是rwxrwxrwx,MAC的访问控制模式是user:role:type。
2.SElinux
-
SElinux属性(安全上下文)
ps -Z
ls -Z
-
控制selinux
getenforce
- enforcing 开启
- permissive 警告模式
- disabled 关闭
setenforce 0|1
- 0 permissive模式
- 1 enforcing
chcon
- chcon -Rt TYPE FILE
查看selinux布尔值
- getsebool -a
修改selinux布尔值
-
setsebool -P ftp_home_dir on
restorecon -
恢复文件selinux context
配置文件 -
/etc/selinux/config
[root@localhost ~]#ll -Zd /tmp/
drwxrwxrwt. root root system_u:object_r:tmp_t:s0 /tmp/
[root@localhost ~]#chcon -t tmp_t: /var/www/html/index.html
chcon
选项
-h, --no-dereference:影响符号连接而非引用的文件。
--reference=参考文件:使用指定参考文件的安全环境,而非指定值。
-R, --recursive:递归处理所有的文件及子目录。
-v, --verbose:为处理的所有文件显示诊断信息。
-u, --user=用户:设置指定用户的目标安全环境。
-r, --role=角色:设置指定角色的目标安全环境。
-t, --type=类型:设置指定类型的目标安全环境。
-l, --range=范围:设置指定范围的目标安全环境。