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
, 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 quiconque ayant ce problème, vous devez redémarrer votre mac et appuyer sur ⌘ + R lors du démarrage. Ensuite, allez dans Utilities> Terminal et tapez les commandes suivantes:
csrutil disable
reboot
Cela résulte de la protection de l'intégrité du système. Plus d'infos ici .
MODIFIER
Si vous savez ce que vous faites et si vous êtes habitué à utiliser Linux, vous devez utiliser la solution ci-dessus, car de nombreuses restrictions SIP sont un vrai casse-tête.
Cependant, si vous êtes un bricoleur/noob/"poweruser"} 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
et non /usr/bin
. Cela est dû à System Integrity Protection (SIP). SIP rend /usr/bin
en 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 bénéficiant d'un accès root. Voici une explication complète de ce que SIP fait et de son utilité.
Comme suggéré dans cette réponse il ne faut pas désactiver SIP (mode sans racine) "Il n'est pas recommandé de désactiver le mode sans racine! La meilleure pratique consiste à installer des éléments personnalisés dans"/usr/local "uniquement. . "
Si vous voulez prendre le contrôle de /usr/bin/
Vous devrez redémarrer votre système:
Juste après le son de démarrage, maintenez la touche Command-R enfoncée pour démarrer le système de récupération.
Cliquez sur le menu Utilitaires et sélectionnez Terminal.
Tapez csrutil disable et appuyez sur Entrée
Cliquez sur le menu et sélectionnez Redémarrer
Une fois vos modifications validées, assurez-vous de réactiver SIP! Cela protège beaucoup votre système. (Mêmes étapes que ci-dessus, à l'exception du type: csrutil enable)
Si après "csrutil désactivé", votre commande ne fonctionne toujours pas, essayez avec "Sudo" dans le terminal, par exemple:
Sudo mv geckodriver usr/local/bin
Et ça devrait marcher.