Операция не разрешена в режиме root - El Capitan (отключено без root)

Я пытаюсь переместить что-то в /usr/bin на OS X El Capitan. Я отключил rootless с помощью следующих команд: sudo nvram boot-args="rootless=0"; sudo reboot sudo nvram boot-args="rootless=0"; sudo reboot, но я продолжаю получать ту же ошибку:

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

Ответ 1

Nvm. Если у вас есть другие проблемы, вам необходимо перезагрузить Mac и нажать ⌘ +R при загрузке. Затем перейдите в Утилиты> Терминал и введите следующие команды:

csrutil disable
reboot 

Это результат защиты целостности системы. Подробнее здесь.

EDIT

Если вы знаете, что делаете и привыкли работать под Linux, вам следует использовать вышеупомянутое решение, так как многие из ограничений SIP являются полной болью в заднице.

Однако, если вы являетесь носильщиком /noob/"poweruser" и не знаете, что делаете, это может быть очень опасно, и вам лучше использовать ответ ниже.

Ответ 2

Правильное решение - это скопировать или установить на /usr/local/bin не /usr/bin. Это связано с защитой целостности системы (SIP), SIP делает /usr/bin только для чтения, но оставляет /usr/local как чтение-запись.

SIP не должен быть отключен, как указано в ответе выше, потому что он добавляет еще один уровень защиты от вредоносного ПО, получающего root-доступ. Здесь - это полное объяснение того, что делает SIP и почему он полезен.

Как было предложено в этом ответе не следует отключать SIP (режим без rootless) "Не рекомендуется отключать режим без корней! Лучшей практикой является установка пользовательский материал только для" /usr/local ".

Ответ 3

Если вы хотите взять под контроль /usr/bin/

Вам нужно будет перезагрузить систему:

Сразу после звука загрузки, нажмите и удерживайте Command-R для загрузки в систему восстановления

Нажмите меню Утилиты и выберите Терминал

Наберите csrutil disable и нажмите возврат

Нажмите  меню и выберите "Перезагрузить"

После внесения изменений обязательно включите SIP! Это многое делает для защиты вашей системы. (Те же шаги, что и выше, за исключением типа: csrutil enable)

Ответ 4

Если после вызова "csrutil disabled" ваша команда по-прежнему не работает, попробуйте в терминале "sudo", например:

sudo mv geckodriver /usr/local/bin

И это должно работать.