我遇到了一个问题,我有一个应用程序需要访问我由内核驱动程序创建的 /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
Run Code Online (Sandbox Code Playgroud)
我尝试解决这个拒绝问题,发现我不能允许 untrusted_app 写入 proc:file,因为会出现 CTS 问题。我尝试为 omg.flashlight APP 添加域。我使用 ps -Z 并发现该应用程序如下
u:r:untrusted_app:s0:c512,c768 u0_a89 6669 382 com.omg.flashlight
Run Code Online (Sandbox Code Playgroud)
我尝试添加以下设置以使其成为seapp_contexts 中的selinux 域:
user=app domain=omg_flashlight seinfo=platform name=com.omg.flashlight type=app_data_file
Run Code Online (Sandbox Code Playgroud)
我新建了一个 omg_flashlight.te:
type omg_flashlight,domain;
app_domain(omg_flashlight)
Run Code Online (Sandbox Code Playgroud)
但结果是一样的,APP仍然是untrusted_app。
有人知道这件事吗?我发现有c512,c768。有谁知道这是什么?
谢谢!