2.4.2文件二services.c2.4.2.1文件形貌
services.c文件的完备文件名称为security/selinux/ss/services.c,该文件用于实现安全服务器,此中界说了安全服务器相干操纵的实现函数。
2.4.2.2重要变量及宏界说
对于该文件中界说的变量详见表2-20:
表2-20services.c中界说的变量阐明
范例
名称
功能
int
selinux_policycap_netpeer
表现战略库所具有的本领
int
selinux_policycap_openperm
表现战略库所具有的本领
rwlock_t
policy_rwlock
用于战略库操纵的读写锁
structsidtab
sidtab
表现战略库中的SID表
structpolicydb
policydb
表现SELinux所利用的战略库
int
ss_initialized
安全服务器是否初始化的标记
u32
latest_granting
当为访问向量缓存天生访问决定时利用的最新的序列号
structselinux_mapping
current_mapping
用于指向表现内核中的客体种别值与战略库中种别值之间的映射关系的链表
u16
current_mapping_size
表现current_mapping链表的长度
2.4.2.3布局体界说
该文件界说了一个名为selinux_mapping的布局体来表现内核中利用的客体种别值和战略中利用的客体种别中之间的映射关系,其代码如下所示:
structselinux_mapping{
u16value;/*policyvalue*/
unsignednum_perms;
u32perms[sizeof(u32)*8];
};
如上所示,其各字段寄义如表2-21所示:
表2-21selinux_mapping中各字段阐明
范例
字段
寄义
u16
value
战略中客体种别的值
unsigned
num_perms
指定的客体种别所具有的权限的数量
u32
perms
表现客体种别所具有的权限,假如具有某个权限,则相应的位置1
对于该文件中利用的其他布局体的表明详见2.3.1.1末节,这里不再赘述。
2.4.2.4外部函数
对于该文件涉及的外部函数功能,详见2.3末节,这里不再赘述。
我要评论