SEAndroid - 在特定安全域中运行应用程序

时间:2015-10-08 22:00:06

标签: android security selinux

我有一个没有活动的应用(服务)。我想在init.rc中启动这个应用程序,如下所示:

service secret_service /system/bin/am startservice com.my.secret.service/com.my.secret.service.SecretService
    class late_start
    user root
    group root

如果像上面那样运行,则此服务在“platform_app”安全上下文中运行。 Howerver,我想在不同的安全环境中运行它,例如“mysecurity”。我已经尝试过像这样使用seclabel:

service secret_service /system/bin/am startservice com.my.secret.service/com.my.secret.service.SecretService
    class late_start
    user root
    group root
    seclabel u:r:mysecurity:s0

但它不起作用。有谁知道如何实现这个目标?

谢谢。

1 个答案:

答案 0 :(得分:0)

您应该在mac_permissions.xml中输入一个条目,该条目将应用签名证书映射到if值,并在seapp_contexts中输入相应的条目,该条目映射seinfo值到域名。此外,如果您的域名不是标准域名之一,那么您还可以在seinfo中创建相应的类型强制执行文件(例如,mysecurity.te)以包含在策略构建时。