关于高通平台SELINUX权限问题

SELinux权限详解
本文深入解析SELinux中的一条典型拒绝写操作的日志记录,详细解释了avc、denied、write等关键字的含义,以及如何通过修改SELinux策略允许特定的写操作。涉及到SELinux的上下文、权限和策略文件路径。

举例:type=1400 audit(1358758415.820:7): avc: denied { write } for pid=1229 comm="sh" name="relay" dev="proc" ino=4026533065 scontext=u:r:shell:s0 tcontext=u:object_r:proc:s0 tclass=file permissive=0

语法:allow shell proc:file write;

如有多个:allow shell proc:file {open write};

若有neverallow:neverallow {appdomain -shell}

                                 proc:dir_file_class_set write;

路径:system/sepolicy/

          device/qcom/sepolicy/common/

高通平台 Android 11 系统中,并没有公开统一且标准的权限白名单配置文件位置。不过从相关开发经验和 Android 系统的特性来看,不同类型的权限白名单配置可能分布在不同的目录。 对于系统级别的权限配置,部分文件可能存放在 `/system/etc/permissions` 目录下,像在 android_N 项目(高通平台)中,`PRODUCT_COPY_FILES` 会将 `frameworks/native/data/etc/android.hardware.opengles.aep.xml` 复制到 `system/etc/permissions/android.hardware.opengles.aep.xml`,说明该目录可能存在权限相关的配置文件[^3]。 若要实现定制 APP 无需权限即可使用 WiFi 功能的 “白名单机制”,是以 WiFi 服务核心权限工具类 `WifiPermissionsUtil.java` 为切入点,但未提及具体配置文件的位置[^1]。 如果设备是 `userdebug/eng` 类型或者已经 root,可通过调整策略或权限后访问部分配置文件,如使用 `setenforce 0`、修改目录权限、或为应用添加 SELinux allow 规则等操作,但量产 `user` 设备不可行[^2]。 ### 相关代码示例 以下是一个简单的 Java 代码示例,用于尝试访问 `/system/etc/permissions` 目录下的文件: ```java import java.io.File; public class PermissionFileAccess { public static void main(String[] args) { File permissionsDir = new File("/system/etc/permissions"); if (permissionsDir.exists() && permissionsDir.isDirectory()) { File[] files = permissionsDir.listFiles(); if (files != null) { for (File file : files) { System.out.println(file.getName()); } } } } } ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值