Недавно я работаю на Android 8 и заблокирован проблемой selinux…
Я создаю службу «ppp» в init.rc для запуска 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
Любая информация для решения этой проблемы приветствуется, спасибо заранее!
Когда вы используете «setprop ctl.start ppp», служба запускается из init.
Попробуйте с этой политикой:
domain_auto_trans(init, ppp_exec, ppp)
Других решений пока нет …