在/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规则详解