Remarque : la désactivation de la protection de l'intégrité du système est dangereuse et rend votre système plus vulnérable aux logiciels malveillants.
Comme le dit Apple dans le la documentation du développeur sur SIP :
Avertissement
Ne désactivez SIP que temporairement pour effectuer les tâches nécessaires, et réactivez-le dès que possible. Si vous ne réactivez pas le protocole SIP lorsque vous avez terminé les tests, votre ordinateur reste vulnérable aux codes malveillants.
Si vous essayez simplement de configurer des outils de développement de système tels que vim
, python2
, ruby
et ainsi de suite, il est presque certain que vous ne voulez installer que des versions maintenues par la communauté à partir des sites suivants Homebrew et de les configurer à la place. Les outils fournis par le système peuvent être pratiques pour démarrer, mais si vous avez besoin d'exceptions SIP pour votre flux de travail quotidien, vous êtes presque certainement en train de faire les choses d'une manière qui se cassera dans une future version du système d'exploitation, et qui peut casser des applications et d'autres fonctionnalités du système entre-temps.
Les raisons valables pour désactiver le SIP vous-même peuvent être :
- si vous effectuez vous-même des recherches sur les logiciels malveillants dans un environnement jetable, par exemple dans une machine virtuelle MacOS
- si vous tentez de modifier les fonctionnalités de base du système d'exploitation en vue d'un déploiement dans un environnement hautement spécialisé tel qu'un kiosque destiné au public
- si vous avez besoin d'une extension de noyau ancienne telle que MacFUSE sur un mac M1
Au-delà des implications en matière de sécurité, il est également important de noter que tout ce que vous faites sur un Mac avec le SIP désactivé ne fonctionnera sur personne. d'autres mac, à moins qu'ils ne le désactivent aussi d'abord. Si vous développez des applications pour Mac, votre système devient moins utile en tant que banc d'essai car vous ne savez pas si votre code fonctionne uniquement parce que vous avez piraté votre système. Si vous développez pour une autre plate-forme, par exemple pour un déploiement sur un serveur Web, vous ne pouvez pas partager la configuration de votre environnement de développement avec les autres développeurs de votre équipe sans compromettre également leur sécurité.
Voici comment procéder si vous vraiment doivent le faire :
La documentation d'Apple couvre la désactivation de SIP, À propos de la protection de l'intégrité du système sur votre Mac y Configuration de la protection de l'intégrité du système .
Un article sur lifehacker.com énumère ces étapes :
- Redémarrez votre Mac en mode de récupération en redémarrant votre ordinateur et en maintenant enfoncée la touche Command + R jusqu'à ce que le logo Apple apparaisse sur votre écran.
- Cliquez sur Utilitaires > Terminal.
- Dans la fenêtre du Terminal, tapez
csrutil disable
et appuyez sur Enter .
- Redémarrez votre Mac.
Vous pouvez vérifier si un fichier ou un dossier est restreint en émettant la commande suivante ls
en utilisant la majuscule O (et non le zéro 0) pour modifier le drapeau de la liste longue :
ls -lO /System /usr
Cherchez le restreint texte pour indiquer où le SIP est appliqué.
Par défaut (=SIP activé), les dossiers suivants sont limités (voir Page de support Apple ):
/System
/usr
/bin
/sbin
Apps that are pre-installed with OS X
... et les dossiers suivants sont libres :
/Applications
/Library
/usr/local
2 votes
Même si vous pouvez corriger tous les aspects de SIP, il y a beaucoup d'entrées pour cela - n'oubliez pas qu'en compromettant le système, vous construisez des choses qui ne fonctionneront peut-être pas sur la machine de votre client, où SIP est activé, et les utilisateurs n'accepteront pas de le désactiver.
5 votes
@Motti Shneor - Cependant, dans certains cas, il est nécessaire d'activer cette fonction pour disposer d'un accès en écriture afin d'installer certains SDK à des fins de développement. Cela n'obligerait pas le client à faire de même.
0 votes
Je viens d'un environnement Unix et j'essaie de comprendre la logique de l'absence de racine : est-ce parce que l'ordinateur est le plus souvent une machine mono-utilisateur, tout sera installé dans le répertoire personnel de l'utilisateur, de sorte qu'il n'y a pas besoin de s'occuper du répertoire système tel que /usr/share/vim/.
0 votes
La prémisse de cette question est incorrecte. En tant que développeur, vous devez impérativement pas besoin d'écrire dans les fichiers qu'il verrouille.