繁体   English   中英

SElinux Android消息解读

[英]SElinux Android message interpretation

我无法理解我在我的 android 应用程序上收到的这条消息。 家里有高手吗?

type=1400 audit(0.0:2233): avc: denied { create } for name="access_control.new_commit.cv" scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:fuse:s0:c512,c768 tclass=fifo_file permissive=0

给定的 SELinux 违规:

type=1400 audit(0.0:2233): avc: denied { create } for name="access_control.new_commit.cv" scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:fuse:s0:c512,c768 tclass=fifo_file permissive=0

下面我将尝试对上述违规的重要部分进行解释:

denied { create }操作权限状态:请求/执行的拒绝权限。 在这种情况下,它是一个创建操作。 SELinux 拒绝执行创建目录/文件操作的权限。

name="access_control.new_commit.cv" : Target name : 您的应用程序可能试图创建的目标名称(在本例中为文件/目录名称)。

scontext=u:r:untrusted_app:s0 : Source Context :此安全违规的源上下文。 这表明哪个域/进程正在尝试执行创建功能。 此处, untrusted_app应用程序是由 zygote 启动的应用程序

tcontext=u:object_r:fuse:s0 : Target Context :目标资源(在本例中为文件)的安全上下文。 在这里,源试图在已被拒绝的Fuse 文件系统中创建文件

tclass=fifo_file : Target Class目标的类

一句话,SELinux拒绝了untrusted_appfuse create access_control.new_commit.cv文件的权限。

从 Google 来源,检查 SEPolicy 文件untrusted_app.te权限是如何被拒绝的。

注意:如果您对答案有任何建议,请告诉我。

根据验证 SELinux | Android 开源项目,留言:

type=1400 audit(0.0:2233): avc: denied { create } for name="access_control.new_commit.cv" scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:fuse:s0:c512,c768 tclass=fifo_file permissive=0

关键信息是:

  • Action创造
  • Actor = scontext = source contextuntrusted_app
  • Object = tcontext = target context保险丝
    • object_r = object read
  • Result = tclass = target classfifo_file =FIFO 文件
  • permissive = permissive mode : 0 -> NOT permissive mode
    • -> 是强制模式吗?

翻译成人类可读的句子:

untrusted_app想要为保险丝创建一个fifo_file

(但是Android SELinux的强制模式在没有权限的情况下停止它,所以你看到上面的logcat日志信息)

我在这里找到了一个有趣的页面,以探讨“ avc:被拒绝”问题。

https://wiki.gentoo.org/wiki/SELinux/Tutorials/Where_to_find_SELinux_permission_denial_details

我可以补充一点,在错误消息上运行 audit2allow 将为您提供有关如何更新 untrusted_app.te 文件的建议。

将 dmesg 转储到文本文件:

dmesg > /sdcard/dmesg.txt
cat dmesg.txt | grep avc | audit2allow 

在这种情况下会给你以下结果:

#============= untrusted_app ==============
allow untrusted_app fuse:fifo_file create;

将此行添加到 untrusted_app.te 并重建 Android 内核!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM