11

Я обновился до El Capitan вчера, и все было хорошо до недавнего времени, когда я заметил, что ничего не могу написать (с sudo ofc) в /usr /bin, когда пытался установить phpbrew.

Что может быть причиной этого и как его устранить?

3 ответа3

13

Начиная с 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

1

Можно проверить, ограничен ли конкретный файл или каталог Системной защитой целостности OSX (SIP)/Rootless, перечислив флаги файлов с помощью параметра -O в ls (например, чтобы увидеть, какие каталоги в / ограничены):

ls -Ol /

Каталоги или файлы, которыми управляет SIP, отображаются как «ограниченные».

Там есть полная информация в ответах на этот вопрос о SIP/ без root.

1

Как упоминал Рагнар, каталог /usr заблокирован системой, за исключением /usr/local . Затем, если ваш сценарий позволяет, я бы рекомендовал добавить символическую ссылку в /usr/local/bin . Если у вас нет строгих требований по использованию /usr/bin , это один из способов обойти ошибку "Операция не разрешена".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .