A seconda di come il dispositivo è stato rootato e quale Android ROM è in esecuzione determinerà come disattivarlo. La prima cosa da provare è:
adb shell su 0 setenforce 0
Questo non è lo stesso di:
adb shell setenforce 0
L'esecuzione su su provoca una transizione di dominio da shell (che non può setenforce) nel dominio su (che può chiama setenforce). Ad esempio, eseguire:
$ adb shell id -Z
context=u:r:shell:s0
rispetto a:
$ adb shell su 0 id -Z
context=u:r:su:s0
Questo può fallire per tre ragioni:
- non avete la do eseguibile
- il Su eseguibile ha il etichetta errata
- Le regole del dominio su non sono state compilate nell'immagine boot
Per correggere problema 2, è possibile (assumendo ADB è root):
adb remount
adb shell chcon /system/xbin/su u:object_r:su_exec:s0
Questo potrebbe fallire, che probabilmente indicano problema 3. Per risolvere problema 3, è necessario ricompilare uno stivale. img che contiene i file della politica su. Se stai compilando AOSP, prepara una variante userdebug o eng del tuo dispositivo.
Un altro approccio, sarebbe quello di rimuovere la funzionalità da init.c, e come il problema 3, richiede una ricompilazione di boot.img. Andare in system/core/init/init.c (o .cpp) e rimuovere tutte le chiamate a security_setenforce().
Inoltre, XDA ha un'applicazione che può aiutare ad automatizzare questo processo e rendere più facile, però, non posso parlare per la qualità della domanda: http://www.xda-developers.com/easily-change-your-android-selinux-mode/
fonte
2015-06-30 20:03:27
' chmod 755/system/su.d/permissive.sh' –