Linux操作系统中的每个资源(如进程、文件描述符、文件、网络等),也被称为SELinux对象,都拥有一个特别的security label,也被称为SELinux label,或SELinux context,以表示该对象能够执行的permissions和operations。这是一个标识符,从Linux系统的细节中抽象出,只聚焦于系统资源的安全属性。通过使用SELinux context,就可以在SELinux策略的中,一致而正确地引用一个系统资源。
1. SELinux context的组成
SELinux context就是一个冒号分隔的字符串,包含4个部分:
user:role:type:range
1) range是可选的,也被称为MLS/MCS security range,或者MLS/MCS security level。
2) 对于安全策略而言,一个SELinux user就是一个标识符。SELinux user是从Linux user映射而来,名称有所变化,带上后缀_u。两者之间的最大不同是,Linux user可以通过su/sudo改变权限,而SELinux user永远不能,除非系统重启。
查看全部SELinux users(需要安装setools-console软件包),可以执行如下命令:
[root@myhost ~]# seinfo -u
Users: 8
sysadm_u
system_u
xguest_u
root
guest_u
staff_u
user_u
unconfine