gpt4 book ai didi

android - SEAndroid进程域是如何给定的

转载 作者:太空狗 更新时间:2023-10-29 16:36:47 27 4
gpt4 key购买 nike

我一直在研究 SEAndroid,并且一直在尝试了解进程域是如何给出的。

到目前为止,我得到的是在 init.rc 文件中,在一些服务声明下,有一个名为 seclabel 的 token :

service adbd /sbin/adbd --root_seclabel=u:r:su:s0
class core
socket adbd stream 660 system system
disabled
seclabel u:r:adbd:s0

稍后在 init.c 中由 setexeccon 设置为写入的上下文:

if (svc->seclabel) {
if (is_selinux_enabled() > 0 && setexeccon(svc->seclabel) < 0) {
ERROR("cannot setexeccon('%s'): %s\n", svc->seclabel, strerror(errno));
_exit(127);
}
}

在上面的示例中,域将是 adbd。

但我没有找到当服务声明中没有 seclabel token 时会发生什么。 init.c 中发生的事情是它不会调用 setexeccon,意思是..保留父域?

调用:

ps -Z

在显示所有进程及其域的 adb shell 中,否则显示。

For example, the servicemanager in init.rc:
class core
user system
group system
critical
onrestart restart healthd
onrestart restart zygote
onrestart restart media
onrestart restart surfaceflinger
onrestart restart drm

但是调用 ps -Z 显示:

u:r:servicemanager:s0          system    53    1     /system/bin/servicemanager

这是怎么回事?!

最佳答案

好的,我看了代码,终于找到答案了!

在android镜像的根文件系统中找到的文件:/external/sepolicy/seapp_contexts包含以下内容:

isSystemServer=true domain=system_server
user=system domain=system_app type=system_app_data_file
user=bluetooth domain=bluetooth type=bluetooth_data_file
user=nfc domain=nfc type=nfc_data_file
user=radio domain=radio type=radio_data_file
user=shared_relro domain=shared_relro
user=shell domain=shell type=shell_data_file
user=_isolated domain=isolated_app levelFrom=user
user=_app seinfo=platform domain=platform_app type=app_data_file levelFrom=user
user=_app domain=untrusted_app type=app_data_file levelFrom=user

这根据一些输入定义了每个进程的安全设置(输出)。我们可以在第一行的这个例子中看到:

If its the system server, its domain will be system_server

或者在最后一行:

The _app keyword stands for every app which doesn't have a rule associated to it. So by default, applications domain will be untrusted_app and the files belongs to it label will be app_data_file.

有关文件语法的更多文档可在文件中找到。

关于android - SEAndroid进程域是如何给定的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26846452/

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