【问题标题】:SE Linux Android 9 AOSP: Adding a permission in platform_app.te file leading to a build failureSE Linux Android 9 AOSP:在 platform_app.te 文件中添加权限导致构建失败
【发布时间】:2020-05-14 18:42:57
【问题描述】:

我正在开发 Android9 AOSP,当我在我的 platform_app.te(位于 /system/sepolicy/public/platform_app.te)中添加权限时,我的构建失败。 system/sepolicy/public/platform_app.te:10:"ERROR 'unknown type xyz_service' at token ';' on line "

我添加的权限是allow platform_app xyz_service:binder { call transfer };

xyz_service 的背景:- 它是由 init 启动的服务,它的 '.te' 文件位于 /system/sepolicy/vendor/xyz_service.te

我能想到的一个原因是 xyz_service.te 位于 /system/sepolicy/vendor 中,而另一个文件位于 /system/sepolicy/public 中。将其从 /vendor 移至 /public 会带来更多问题。当然,您不能在两个位置都拥有文件,因为它会导致“类型重复声明”错误。有谁能指导一下,谢谢!

【问题讨论】:

  • Vendor sepolicies 规则通常位于device/<manufacturer>/<device>/sepolicy 并通过在相应的BoardConfig.mk 中设置BOARD_VENDOR_SEPOLICY_DIRS 来集成。但是,如果您想将其保留在 /system/sepolicy 中,我想您应该查看将 xyz_service.te 移动到 /public 时遇到的问题。

标签: build android-source android-9.0-pie selinux


【解决方案1】:

xyz_service 类型在 /system/sepolicy/vendor/xyz_service.te 中定义,您正尝试从无法访问的 system/sepolicy/public/platform_app.te 访问它。请检查 system/sepolicy/public 中可用的 file.te 并在此 file.te 中定义 xyz_service 类型以获取 system/sepolicy/public/platform_app.te 中的访问权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多