J'ai effectué une mise à niveau vers El Capitan hier et tout allait bien jusqu'à récemment lorsque j'ai remarqué que je ne pouvais rien écrire (avec sudo ofc) sur / usr / bin alors que j'essayais d'installer phpbrew.
Qu'est-ce qui pourrait être à l'origine de cela et comment le résoudre?
macos
osx-el-capitan
sushil
la source
la source
Réponses:
Depuis OSX 10.11, Apple a renforcé le système de sécurité. Appelé Protection de l'intégrité du système , Apple verrouille:
Pour désactiver cette fonction de sécurité, vous devez redémarrer votre ordinateur et maintenir enfoncé
CMD+R
au démarrage pour démarrer en mode de récupération OS X.Puis
OS X Utilities > Terminal
Tapez la commande
csrutil disable; reboot
Votre ordinateur va redémarrer. Vous verrez un message de confirmation de la désactivation.
Pour vérifier le statut du type CRS
csrutil status
la source
/Users/Rob$ csrutil status System Integrity Protection status: disabled. /Users/Rob$ touch /usr/bin/yes touch: /usr/bin/yes: Permission denied
sudo
.csrutil enable
(en mode de récupération).Comme mentionné par Ragnar , le
/usr
répertoire est verrouillé par le système, à l'exception de/usr/local
. Ensuite, si votre scénario le permet, je vous recommande d'ajouter le lien symbolique à/usr/local/bin
. Si vous n'avez pas d'exigence stricte d'utilisation/usr/bin
, c'est une façon de contourner l'erreur "Opération non autorisée".la source
On peut vérifier si un fichier ou un répertoire particulier est restreint par la protection de l'intégrité du système (SIP) / Rootless d'OSX en listant les indicateurs de fichier en utilisant l'
-O
option à ls (par exemple pour voir quels répertoires dans / sont restreints):Les répertoires ou fichiers contrôlés par SIP s'affichent comme «restreints».
Il y a tous les détails dans les réponses à cette question sur SIP / rootless.
la source