8 votes

Comment puis-je changer SELinux de Enforcing à Permissive sur le Samsung Galaxy Note 3 ?

Mon appareil est un Samsung Galaxy Note 3 SM-N9005.

Ce téléphone est livré avec SELinux réglé sur Enforcing par défaut.

J'ai essayé de le changer en permissif, mais en vain.

J'ai construit le noyau à partir du code source en suivant les instructions de Samsung, et j'ai ajouté une ligne au fichier init.rc dans le ramdisk : "setenforce 0" et cela a fonctionné, mais le WiFi s'est cassé et je ne suis pas calé sur le développement des noyaux.

J'ai essayé, en tant que Root, de lancer "setenforce 0" dans le terminal et via adb. Il n'y a pas d'erreur, mais l'application reste en vigueur.

Je suis à court d'options, j'ai regardé les fichiers init dans le code source de Samsung et je ne trouve nulle part où Samsung a réglé SELinux pour qu'il soit en vigueur.

Toute aide sera grandement appréciée !

6voto

not2qubit Points 817

Si vous êtes enraciné, installez Android Terminal Emulator depuis le Play Store et ouvrez un shell Root. Assurez-vous également d'utiliser la dernière version (>2.00). SuperSU pour gérer SELinux. Puis tapez : su 0 setenforce 0 et voyez ce qui se passe. Vérifiez avec id . Si cela ne fonctionne pas, essayez également avec : su system setenforce 0 . En AOS >4.3 il ne suffit pas d'être "Root" (uid=0), il faut aussi utiliser le bon mot de passe. contexte .

EDIT : 2015-11-06

Apparemment, depuis que l'AM >4.4 Google a commencé à utiliser un mode d'application permanent qui applique réellement la politique SELinux. Ces téléphones ont désactivé le Permissif par le biais de l'option DCONFIG_ALWAYS_ENFORCE=true dans leurs noyaux. Vous devez flasher un noyau non sécurisé (par exemple CF_Root) ou un tout nouveau noyau où cet indicateur a été désactivé.

Google écrit ici :

Dans la version Android 5.0 (L), Android passe à une application complète de SELinux. Cela s'appuie sur la version permissive de la 4.3 et l'application partielle de la 4.4. En bref, Android passe d'une application sur un ensemble limité de domaines cruciaux (installd, netd, vold et zygote) à une application intégrale (plus de 60 domaines). Cela signifie que les fabricants devront mieux comprendre et adapter leurs implémentations SELinux pour fournir des appareils compatibles. Comprenez bien cela :

  • Tout est en mode d'application dans la version 5.0.
  • Aucun processus autre que init ne doit être exécuté dans le domaine init.
  • Toute dénégation générique (pour un block_device, socket_device, default_service, etc.) indique que le dispositif a besoin d'un domaine spécial.

Pour plus d'informations sur la façon de recompiler votre noyau, regardez ici .

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X