it-swarm.com.ru

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

Я пытаюсь переместить что-то в/usr/bin в OS X El Capitan. Я отключил root без использования следующих команд: 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
204
Mark Bourke

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

csrutil disable
reboot 

Это результат защиты целостности системы. Больше информации здесь .

ПРАВКА

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

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

331
Mark Bourke

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

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

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

205
hariszaman

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

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

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

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

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

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

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

13
Elliot Yap

Если после «csrutil disabled» ваша команда по-прежнему не работает, попробуйте использовать «Sudo» в терминале, например:

Sudo mv geckodriver usr/local/bin

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

0
Nicolas