Selinux拒绝在Android 8上启动服务

Selinux Denies Starting Service on Android 8

本文关键字:启动 服务 Android 拒绝 Selinux      更新时间:2023-10-16

最近我在安卓8上工作,并因selinux问题而被阻止…

我在init.rc中创建了一个"ppp"服务来启动pppd,如下所示:

service ppp /system/bin/pppd call gprs
user root
group system radio
disabled
oneshot

但在使用命令"setprop ctl.start ppp"启动此服务时失败。

selinux已设置为允许模式,但仍显示如下,并且服务未启动:

console://#[430.56722]init:无法ctl。启动服务ppp:File/system/bin/pppd(标记为"u:object_r:ppp_exec:s0")的标签不正确,或者没有定义从u:r:init:s0到另一个SELinux域的域转换。您是否正确配置了服务?https://source.android.com/security/selinux/device-policy#label_new_services_and_address_denials

ppp.te和file_contexts未更改:

ppp.te:

typeattribute ppp coredomain;
domain_auto_trans(mtp, ppp_exec, ppp)

file_contexts:

/system/bin/pppd    u:object_r:ppp_exec:s0

任何解决此问题的信息都将不胜感激,提前感谢!

当您使用"setprop ctl.start ppp"时,服务将从init启动。

尝试使用此策略:

domain_auto_trans(init, ppp_exec, ppp)