类型强制
TE规则语法:
规则名称
源类型
目标类型
客体类别
许可
规则名称
1允许规则:allow
allow 源类型 目标类型:客体类别许可
allow domain device:fileread;(来自domain.te45) |
这个allow规则的源类型为domain,目标类型为device,客体类别file,许可read,这个规则可以解读为"允许domain读取类型为device的文件"。
2审核规则:audit
默认情况下,SELinux不会记录任何允许的访问检查,只会记录被拒绝的访问检查。
dontaudit规则,它指出哪一个访问尝试被拒绝时不审核,这样就覆盖了SELinux默认的审核所有拒绝的访问尝试的行为。
auditallow规则
记录允许的访问
暂时没发现SEAndroid中有这种规则
Neverallow规则
指定永远不会被allow规则执行的访问,主要是以防万一的作用。因为在载入规则时,neverallow规则会先于allow规则载入,所以,当规则冲突时(同时存在neverallow禁止规则和allow允许规则),会产生编译错误。
源类型与目的类型
类型声明
使用type语句进行声明:type类型名称[,属性集];
type adbd, domain,mlstrustedsubject;来自adbd.te3
seandroid的20个attributes在
源类型和目标类型都可以是attribute,并且没有数量限制,可以在源和目标字段处列出多个类型和属性,如果有多个类型或属性时,它们之间使用空格进行分隔,并使用大括号将它们括起来,如:
allow bluetooth { tun_device uhid_device hci_attach_dev}:chr_filerw_file_perms;