2

最近我正在使用 Android 8 并被 selinux 问题阻止......</p>

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

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

但是使用命令“setprop ctl.start ppp”启动此服务时失败。

selinux已经设置为permissive模式,但还是显示如下,服务没有启动:

控制台:/ # [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)

文件上下文:

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

感谢您提供解决此问题的任何信息,在此先感谢!

4

1 回答 1

3

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

试试这个政策:

domain_auto_trans(init, ppp_exec, ppp)
于 2018-07-11T16:27:02.457 回答