最近,在認真地閱讀Red Hat SELinux管理手冊。
php
#semanage login -l Login Name SELinux User MLS/MCS Range Service __default__ unconfined_u s0-s0:c0.c1023 * root unconfined_u s0-s0:c0.c1023 * system_u system_u s0-s0:c0.c1023 *
Linux會映射爲__default__ ,對標SELinux裏的unconfined_u用戶,安全等級對應着s0-s0:c0.c1023
html
bash-4.2# id -Z unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 bash-4.2# id mike -Z id: cannot print security context when user specified
查看用戶本身的SELinux標籤。可是不能看別人的標籤。那怕你是root。web
ls -Z看到的內容是四個字段:用戶、角色、標籤、安全等級,中間用:隔開,以下:apache
ls -Z /var/www/html bash-4.2# ls -Z /var/www/html -rwxr-xr-x. apache apache unconfined_u:object_r:httpd_sys_content_t:s0 index.php -rwxr-xr-x. apache apache unconfined_u:object_r:httpd_sys_content_t:s0 license.txt -rwxr-xr-x. apache apache unconfined_u:object_r:httpd_sys_content_t:s0 my-httpd.pp -rwxr-xr-x. apache apache unconfined_u:object_r:httpd_sys_content_t:s0 my-httpd.te drwxr-xr-x. apache apache unconfined_u:object_r:httpd_sys_content_t:s0 phpMyAdmin lrwxrwxrwx. apache apache unconfined_u:object_r:httpd_sys_content_t:s0 pub -> /var/ftp/pub/ -rwxr-xr-x. apache apache unconfined_u:object_r:httpd_sys_content_t:s0 readme.html
用戶:unconfined_u安全
角色:object_rbash
標籤:httpd_sys_content_t網絡
安全等級:s0ide
缺省狀況下,用戶以unconfined_u身份運行。RBAC應用於進程,並不是應用於文件。角色對於文件來講,沒有任何意義。Object_r是一個應用於文件的角色(永久存儲和網絡文件系統)。/proc目錄下的文件可能會使用system_r角色。工具
# seinfo -u bash: seinfo: command not found
Note that the seinfo command is provided by the setools-console package, which is not installed by default. 也就是說,seinfo命令是setools-console軟件包裏的工具之一,缺省狀況下沒有安裝,因此要安裝一下:code
yum -y install setools-console
安裝完成後,再來試一試。
#seinfo -u Users: 8 sysadm_u system_u xguest_u root guest_u staff_u user_u unconfined_u
查看SELinux的角色有哪些:
# seinfo -r Roles: 14 auditadm_r dbadm_r guest_r staff_r user_r logadm_r object_r secadm_r sysadm_r system_r webadm_r xguest_r nx_server_r unconfined_r
可想而知,查看類型,就是seinfo -t,會列出長長一張清單。