Sono passato a El Capitan ieri e tutto è andato bene fino a poco tempo fa quando ho notato che non posso scrivere nulla (con sudo ofc) su / usr / bin mentre provavo a installare phpbrew.
Cosa potrebbe causare questo e come risolverlo?
Sono passato a El Capitan ieri e tutto è andato bene fino a poco tempo fa quando ho notato che non posso scrivere nulla (con sudo ofc) su / usr / bin mentre provavo a installare phpbrew.
Cosa potrebbe causare questo e come risolverlo?
Risposte:
Da OSX 10.11, Apple ha rafforzato il sistema di sicurezza. Chiamata System Integrity Protection , Apple blocca:
/System
/sbin
/usr (with the exception of /usr/local subdirectory)
Per disabilitare questa funzione di sicurezza devi riavviare il computer e tenerlo premuto CMD+R
all'avvio per avviare la modalità di ripristino di OS X.
Poi OS X Utilities > Terminal
Digita il comando csrutil disable; reboot
Il tuo computer si riavvierà. Vedrai un messaggio di conferma sulla disattivazione.
Per verificare lo stato del tipo CRS csrutil status
/Users/Rob$ csrutil status System Integrity Protection status: disabled. /Users/Rob$ touch /usr/bin/yes touch: /usr/bin/yes: Permission denied
sudo
.
csrutil enable
(in modalità di ripristino).
Come menzionato da Ragnar , la /usr
directory è bloccata dal sistema, ad eccezione di /usr/local
. Quindi, se il tuo scenario lo consente, ti consiglio di aggiungere il link simbolico a /usr/local/bin
. Se non si ha un requisito rigoroso sull'uso /usr/bin
, questo è un modo per aggirare l'errore "Operazione non consentita".
Si può verificare se un determinato file o directory è limitato da System Integrity Protection (SIP) / Rootless di OSX elencando i flag di file usando l' -O
opzione a ls (ad es. Per vedere quali directory sono / sono limitate):
ls -Ol /
Le directory o i file controllati da SIP vengono visualizzati come "limitati".
Ci sono tutti i dettagli nelle risposte a questa domanda su SIP / rootless.