android - android - selinux avc 拒绝规则不起作用
问题描述
我在 android 11 设备上工作并得到以下 avc 拒绝:
avc: denied { write } for name="wake_lock" dev="sysfs" ino=15207 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:sysfs_wake_lock:s0 tclass=file permissive=0 app=com.sample.demo
我将以下规则添加到 pri_app.te:
allow priv_app sysfs_wake_lock:file { write };
但它不起作用,然后我从谷歌搜索它,有人说需要添加 mlstrustedsubject 属性,因为它是 MLS 规则!
但是 aosp 代码在系统 priv_app.te 中添加了一个 neverallow 规则,因此构建将失败:
neverallow priv_app mlstrustedsubject:process fork;
解决这个 selinux 问题的正确方法是什么?
解决方案
为 sysfs_wake_lock 添加 mlstrustedobject 检查;
类型 sysfs_wake_lock、fs_type、sysfs_type、mlstrustedobject;
或者
类型属性 sysfs_wake_lock mlstrustedobject;
推荐阅读
- powerbi - 提高 Power BI 中 Python 视觉对象的性能
- flutter - 什么是 UI 设计草案?UI 和 UI 设计草案是同一个术语吗?
- tailscale - 我什么时候应该在 Tailscale 中使用什么类型的身份验证密钥?
- c# - MSTest,我收到 result.status 代码 200 但 result.value 为空
- php - 增加共享主机中的 PHP 时间限制
- gdb - 使用vscode运行gdb时如何抑制库文件?
- sql - 使用递归 cte 获取范围内的素数列表
- json - 如何将嵌套的 JSON 转换为逗号分隔的文件进行分析?以下是详细信息
- api - SunCertPathBuilderException:无法找到请求目标的有效证书路径,.cer 文件在哪里
- haskell - 在 Haskell 中使用递归方案解决变更问题