Selinux在Android 8上拒绝启动服务

时间:2018-01-16 01:24:02

标签: android c++ selinux ril

最近我正在使用Android 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.567622] init:无法ctl.start用于服务ppp:文件/ 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

感谢提前解决此问题的任何信息!

1 个答案:

答案 0 :(得分:0)

当您使用“ setprop ctl.start ppp”时,该服务从init启动。

尝试以下政策:

domain_auto_trans(init, ppp_exec, ppp)