简单了解SELinux
SELinux
SELinux:Secure Enhanced Linux,工作在Linux内核。
DAC:自主访问控制
MAC:强制访问控制
selinux的工作级别:
strict:每个进程都收到selinux的控制
targeted:有限个进程收到selinux的控制(只监控容易被入侵的进程)。
sandbox:
subject operation object
subject:进程
object:进程,文件(open、read、write、chown、chmod)
subject:domain
object:type
SELinux为每个文件提供了安全标签,也为进程提供了安全标签:
user:roule:tyope:
user:selinux 的user;
role:角色:
type:类型
查看标签:
ls -Z
ps -auxZ
SELinux规则库:
规则:哪种域能访问哪种或哪些种类型内的文件
配置SELinux:
SELinux是否启用:
修改文件标签(给文件重新打标):
设定某些布尔型特性:
getsebool:查看selinux布尔型规则
selinux的状态:(修改完状态后需要重启系统让内核对文件重新打标)
enforcing:强制,每个首先的进程必然受限
permissive:允许,每个受限进程违规操作不会被禁止,但会被记录于审计日志种
disabled:关闭,虽有进程都不受限制
相关命令:
getenforce:获取selinux当前状态:
setenforce 0|1
0:设定为permissive
1:设定为enforcing
此设定:重启系统后生效
配置文件/etc/sysconfig/selinux,/etc/selinux/config
给文件重新打标:
chcon命令
chcon [OPTION] CONTEXT FILE
chcon [OPTION] [-u user] [-r ROLE] [-t TYPE] FILE
chcon [OPTION] --reference=RFILE FILE
-R :递归打标
还原文件的默认标签:
restorcon
restorcon [-R/r] FILE
设定布尔型规则:
getsebool:获取布尔型
getsebool [-a] FILE
setsebool:设置布尔型
setsebool FILE [on/off/0/1] 临时生效
setsebool FILE -P [on/off/0/1] 写入策略库永久生效