参考文章:
https://www.cnblogs.com/zhongguiyao/p/13955398.html
常用的定义,方便使用 一组权限或一类对象
源码位置:/system/sepolicy/public/global_macros
比如下面这些:
#####################################
# Common groupings of permissions.
#
define(`x_file_perms', `{ getattr execute execute_no_trans map }')
define(`r_file_perms', `{ getattr open read ioctl lock map watch watch_reads }')
define(`w_file_perms', `{ open append write lock map }')
define(`rx_file_perms', `{ r_file_perms x_file_perms }')
define(`ra_file_perms', `{ r_file_perms append }')
define(`rw_file_perms', `{ r_file_perms w_file_perms }')
define(`rwx_file_perms', `{ rw_file_perms x_file_perms }')
define(`create_file_perms', `{ create rename setattr unlink rw_file_perms }')
原生的一些SElinux sepolicy
源码位置:/system/sepolicy/private/ or /system/sepolicy/public/
比如
init.te
vendor_init.te
vendor_shell.te
一些neverallow的规则常常定义在domain.te
源码位置:/system/sepolicy/public/domain.te
文件的安全上下文
原生的定义
/system/sepolicy/public/file.te
vendor厂商自己的定义
比如可能是
/device/generic/goldfish/sepolicy/common/file.te
或者其它 te档案中,如
/system/sepolicy/public/surfaceflinger.te
通常会在file_contexts文件中指定进程或档案的selinux安全上下文
比如:
[ /system/sepolicy/private/file_contexts]
// 文件
/data/vendor(/.*)? u:object_r:vendor_data_file:s0
/data/vendor_ce(/.*)? u:object_r:vendor_data_file:s0
/data/vendor_de(/.*)? u:object_r:vendor_data_file:s0
// 进程
/system/bin/surfaceflinger u:object_r:surfaceflinger_exec:s0
可以通过 ls -Z 或 ps -Z 命令查看(是不是和上面定义的一致)
// 查看进程
console:/ # ps -AZ | grep SurfaceFLinger
1|console:/ # ps -AZ | grep surfaceflinger
u:r:surfaceflinger:s0 system 188 1 134632 34488 SyS_epoll_wait 0 S surfaceflinger
// 查看档案
console:/ # ls -Z /data | grep vendor
u:object_r:vendor_data_file:s0 vendor
u:object_r:vendor_data_file:s0 vendor_ce
u:object_r:vendor_data_file:s0 vendor_de
查看赋予某一个对象的权限sepolicy
cat /vendor/etc/selinux/vendor_sepolicy.cil | grep "allow xxxx_service"
原文地址:http://www.cnblogs.com/roger-yu/p/16902230.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性