Actualité

iPhone

El Capitan : retrouver un vrai "root" et désactiver le "System Integrity Protection"

Par Didier Pulicani - Publié le

Jusqu'à présent, dans la droite lignée de tous les Unix POSIX, Apple utilisait un système de permissions assez standard : un utilisateur root possède tous les droits sur le système de fichiers et l'exécution des processus, suivi d'une hiérarchie d'administrateurs, d'utilisateurs et d'invités, tous bénéficiant de privilèges en cascade.

Si vous avez installé El Capitan cette semaine et que vous aimez bidouiller un peu votre Mac, c'est la douche froide. Pour le première fois depuis Mac OS X 10.0, le système pourra afficher un permission denied ou un Operation not permitted alors que votre compte possède théoriquement les droits d'administrateur sur la machine. Pire, même le tout puissant root affichera des erreurs de privilege, même s'il s'agit de copier un simple fichier système.

Essayez de taper un simple sudo touch /System/toto.txt sur votre Mac, comme je viens de le faire sur celui de Laura, avec un compte administrateur :

El Capitan : retrouver un vrai "root" et désactiver le "System Integrity Protection"


La réponse tient en trois mots : le System Integrity Protection ou SIP pour les intimes. Il s'agit en fait d'un moyen pour Apple de repousser une nouvelle fois les limites de la sécurité de votre machine, en interdisant à tous les utilisateurs (y.c. Dieu le Root) de toucher certains fichiers jugés critiques.

Ainsi, même le root n'aura pas le droit d'aller copier le moindre document dans les dossiers suivants :

/System
/bin
/usr
/sbin


L'idée derrière tout cela, c'est évidemment de protéger l'utilisateur contre toute menace éventuelle, un risque qui pèse de plus en plus lourd avec la popularité croissante d'OS X. Après le très décrié Gatekeeper (qui obligeait les développeurs à signer leurs applications), Apple a exigé que les extensions systèmes soient à leur tour signées (et donc validées). Désormais, c'est l'entièreté du système qui a été cadenassé. En agissant ainsi, la Pomme se protège notamment contre les failles déjà présentes dans OS X, et qui permettent parfois de faire monter les privilèges d'un utilisateur lambda, jusqu'à devenir administrateur de la machine.

Heureusement pour les développeurs et les bidouilleurs, il existe (encore) un moyen de désactiver SIP. Pour cela, redémarrez en mode Recovery (Pomme-R au démarrage) et lancez un Terminal.

Tapez ensuite la ligne suivante :

csrutil disable


Redémarrez et tout redeviendra comme avant : le root et l'administrateur pourront de nouveau jouer avec les fichiers système.

Précisons qu'SIP présente un intérêt substantiel pour Madame Michu, pour qui la sécurité prime sur l'accès aux fichiers système. En revanche, depuis Gatekeeper, les éditeurs se retrouvent de plus en plus contraints par des mesures de sécurité bridant parfois leurs activités. Ainsi, les TPE et les PME de l'édition logicielle pourraient (on l'a vu cette semaine dans le domaine audio) décider de jeter l'éponge devant la complexité imposée par Apple, surtout lorsqu'il s'agit d'interagir de près avec les composants du système. Beaucoup craignent désormais cette infantilisation du consommateur, à qui l'on restreint désormais l'usage à lancer des programmes validés en amont par Apple. Heureusement que le Mac App Store ne décolle pas pour l'instant, sans quoi Apple aurait sans doute déjà verrouillé l'ensemble de son écosystème à sa propre boutique...