gpt4 book ai didi

android - 什么是selinux进程的c512,c768

转载 作者:行者123 更新时间:2023-11-29 00:04:03 27 4
gpt4 key购买 nike

我遇到了一个问题,我有一个应用程序需要访问我由内核驱动程序创建的/proc 条目,并且我遇到了 selinux 被拒绝的问题:

avc: denied { write } for pid=30200 comm="omg.flashlight" name="omg_flash_brightness" dev="proc" ino=4026534208 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0

我试图解决这个拒绝,我发现我不能允许 untrusted_app 写 proc:file 因为会有 CTS 问题。我尝试为 omg.flashlight APP 添加域。我使用 ps -Z 并找到如下 APP

u:r:untrusted_app:s0:c512,c768 u0_a89    6669  382   com.omg.flashlight

我尝试添加以下设置以使其成为 seapp_contexts 中的 selinux 域:

user=app domain=omg_flashlight seinfo=platform name=com.omg.flashlight type=app_data_file

我新建了一个 omg_flashlight.te:

type omg_flashlight,domain;
app_domain(omg_flashlight)

但是结果是一样的,APP还是untrusted_app。

有人知道吗?我发现有c512,c768。有谁知道这是什么?

谢谢!

最佳答案

首先,您需要修复 seapp_context 文件中的行:

user=_app seinfo=omg_flashlight domain=platform_app name=com.omg.flashlight type=app_data_file

user=_app 始终以下划线开头。

作为 u:r:untrusted_app:s0:c512,c768 运行的进程具有访问类别 c512,c768 中的文件的特殊权限。但是您需要访问没有多级类别 u:object_r:proc:s0 的文件类型,所以我认为这不是您的问题。

尝试让您的应用程序以 platform_appsystem_app 运行,这取决于您的设备,您应该可以访问。

更新

您在 seapp_context 中混淆了 seinfodomain,见上文。如果 platform_app 不起作用,请尝试 system_app。转到 /system/etc/security/mac_permissions.xml 并查找您应用的 seinfo,它应该与 seapp_contexts 中定义的相同。

<signer signature="your_app_signature"><allow-all/><seinfo value="omg_flashlight"/></signer>

如果您的应用程序 key 也正确,它现在将在 seapp_contexts 定义的域中运行。

关于android - 什么是selinux进程的c512,c768,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36790794/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com