Opération non autorisée à la racine – El Capitan (désactivé sans racine)

J’essaie de déplacer quelque chose vers / usr / bin sur OS X El Capitan. J’ai désactivé rootless en utilisant les commandes suivantes: sudo nvram boot-args="rootless=0"; sudo reboot sudo nvram boot-args="rootless=0"; sudo reboot , mais je continue à avoir la même erreur:

 MacBook-Air:~ Mark$ sudo cp class-dump /usr/bin Password: cp: /usr/bin/class-dump: Operation not permitted MacBook-Air:~ Mark$ sudo mv class-dump /usr/bin mv: rename class-dump to /usr/bin/class-dump: Operation not permitted 

Nvm. Pour toute personne ayant ce problème, vous devez redémarrer votre mac et appuyer sur ⌘ + R lors du démarrage. Ensuite, allez dans Utilitaires> Terminal et tapez les commandes suivantes:

 csrutil disable reboot 

Ceci est le résultat de la protection de l’intégrité du système. Plus d’infos ici .

MODIFIER

Si vous savez ce que vous faites et que vous êtes habitué à utiliser Linux, vous devez utiliser la solution ci-dessus, car la plupart des ressortingctions SIP constituent une douleur totale.

Cependant, si vous êtes un bricoleur / noob / “utilisateur privilégié” et que vous ne savez pas ce que vous faites, cela peut être très dangereux et vous feriez mieux d’utiliser la réponse ci-dessous.

La solution correcte consiste à copier ou à installer dans /usr/local/bin non /usr/bin . Cela est dû à la protection de l’intégrité du système (SIP) . SIP rend /usr/bin lecture seule mais laisse /usr/local en lecture-écriture.

SIP ne doit pas être désactivé, comme indiqué dans la réponse ci-dessus, car il ajoute une couche de protection supplémentaire contre les logiciels malveillants qui obtiennent un access root. Voici une explication complète de ce que fait SIP et pourquoi il est utile.

Comme suggéré dans cette réponse, il ne faut pas désactiver le mode SIP (rootless mode) “Il est déconseillé de désactiver le mode sans racine! La meilleure pratique consiste à installer des éléments personnalisés dans” / usr / local “uniquement.”

si vous cherchez à prendre la commande dans /usr/bin/

essayez de créer un alias.

exemple: alias git='/usr/local/bin/git'