在/proc和/selinux文件系統中的策略
文件系統/proc將進程的安全屬性設置記錄在/proc/
^-^$ ls /proc/1/attr
current exec fscreate keycreate prev sockcreate
^-^$ cat current
system_u:system_r:init_t:s0
^-^$ cat prev
system_u:system_r:kernel_t:s0
其中,current表示當前的安全上下文。pre表示在上次執行前的上下文,即調用這個進程的上下文,init進程重執行了自己,域從kernel_t轉移到init_t。exec表示下一次執行的上下文,fscreate表示被這個進程創建的新文件使用的上下文,sockcreate表示被這個進程創建的socket使用的上下文。
一個授權的應用程序調用函數setfscreatecon寫一個安全上下文到文件/proc/self/attr/fscreate中,它能覆蓋任何已描述的標識規則。這項操作還必須得到策略的允許。這個上下文能被用來標識下一個新創建的文件對象,且這個fscreate 在下一次執行或setfscreatecon(NULL)后自動復位。這保證了程序從一個已知的狀態啟動,而不必關心在/proc/self/attr/fscreate中以前的程序留下的上下文。
文件系統selinuxfs掛接在/selinux/下,它是與內核SELinux進行策略交互的接口,提供了SELinux的策略API給用戶空間。庫libselinux從這個文件系統抽象了接口函數給應用程序使用,用來裝載策略、激活或關閉SELinux以及進行AVC策略檢查等。文件系統selinuxfs的目錄樹列出如下:
^-^$ tree /selinux
/selinux
|-- access
|-- avc
| |-- cache_stats
| |-- cache_threshold
| `-- hash_stats
|-- booleans
| |-- NetworkManager_disable_trans
| |-- allow_cvs_read_shadow
| |-- allow_daemons_use_tty
| |-- allow_execheap
......
| |-- xend_disable_trans
| |-- xfs_disable_trans
| |-- xm_disable_trans
| |-- ypbind_disable_trans
| |-- yppasswdd_disable_trans
| |-- ypserv_disable_trans
| |-- ypxfr_disable_trans
| `-- zebra_disable_trans
|-- checkreqprot
|-- commit_pending_bools
|-- compat_net
|-- context
|-- create
|-- disable
|-- enforce
|-- load
|-- member
|-- mls
|-- null
|-- policyvers
|-- relabel
`-- user
文件安全上下文存在文件擴展屬性的security.selinux參數中,當任何主體請求一個文件的SELinux類型時,它從這個域中讀出安全上下文。
庫libselinux通過selinuxfs文件系統提供了與內核SELinux接口的抽象層,應用程序通過這個庫接口,可查詢內核中策略信息或將策略設置到內核中。
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解