Я обновился до El Capitan вчера, и все было хорошо до недавнего времени, когда я заметил, что ничего не могу написать (с sudo ofc) в / usr / bin, когда пытался установить phpbrew.
Что может быть причиной этого и как его устранить?
Я обновился до El Capitan вчера, и все было хорошо до недавнего времени, когда я заметил, что ничего не могу написать (с sudo ofc) в / usr / bin, когда пытался установить phpbrew.
Что может быть причиной этого и как его устранить?
Ответы:
Начиная с OSX 10.11, Apple усилила систему безопасности. Вызывается защита целостности системы , Apple блокирует:
/System
/sbin
/usr (with the exception of /usr/local subdirectory)
Чтобы отключить эту функцию безопасности, вы должны перезагрузить компьютер и удерживать CMD+R
при запуске, чтобы загрузиться в режиме восстановления OS X.
потом OS X Utilities > Terminal
Введите команду csrutil disable; reboot
Ваш компьютер перезагрузится. Вы увидите подтверждающее сообщение о деактивации.
Для проверки статуса типа 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
(в режиме восстановления).
Как упомянул Рагнар , /usr
каталог заблокирован системой, за исключением /usr/local
. Затем, если ваш сценарий позволяет, я бы рекомендовал добавить символическую ссылку на /usr/local/bin
. Если у вас нет строгих требований по использованию /usr/bin
, это один из способов обойти ошибку «Операция не разрешена».
Можно проверить, ограничен ли конкретный файл или каталог Системной защитой целостности OSX (SIP) / Rootless, перечислив флаги файлов, используя -O
опцию ls (например, чтобы увидеть, какие каталоги в / ограничены):
ls -Ol /
Каталоги или файлы, которыми управляет SIP, отображаются как «ограниченные».
Там есть полная информация в ответах на этот вопрос о SIP / без root.