"ограниченная" папка / файлы в OS X El Capitan


после обновления с OS X Yosemite до OS X El Capitan Developer Preview я попытался отредактировать / System/Library/LaunchDaemons / ssh.файл plist чтобы изменить SSH-порт по умолчанию на пользовательский. Это процесс, который я использую в течение нескольких лет.

проблема в том, что El Capitan не позволяет мне ничего менять в этой папке (даже с "sudo"). Папка и ее файлы помечены как "ограничения" когда я перечисляю содержимое " ls - ло". Тот же список папок в предыдущих версиях OS X не показывает "ограниченный".

Это что-то новое для OS X El Capitan? Как я могу редактировать файлы / папки, которые "ограничения"?


Я узнал, что это связано с новой функцией, введенной в El Capitan под названием " SIP " (System Intregrity Protection).

подробнее здесь: https://forums.developer.apple.com/thread/4731?q=SIP

к сожалению, никто не предложил способ редактирования "ограниченных" файлов / папок без фактического отключения SIP.

7 66

7 ответов:

вы также можете временно отключить SIP следующим образом

  1. перезагрузка
  2. как только вы услышите "звук Mac" на сером экране, нажмите Cmd+R, чтобы войти в режим восстановления
  3. Открыть Утилиты - > Терминал
  4. выполнить команду csrutil disable
  5. перезагрузка, вы приземляетесь в обычной ОС с отключенным SIP
  6. сделать все изменения, которые вы хотели бы сделать
  7. перезагрузка снова
  8. как только вы услышите "звук Mac" на экране серый экран, нажмите Cmd+R, чтобы войти в режим восстановления
  9. включить SIP с csrutil enable
  10. перезагрузка снова
  11. сделал

пока 10.11 не снимет защиту с определенных файлов в /System / Library или не позволит вам сделать это самостоятельно, единственный способ без отключения SIP - сделать другую службу, справившись с файлом где-то еще, например:

sudo cp /System/Library/LaunchDaemons/ssh.plist /Library/LaunchDaemons/ssh.plist

и тогда вместо того, чтобы использовать панель общего доступа в Системных настройках, вы бы сами управляли сервисом:

sudo launchctl unload /Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /Library/LaunchDaemons/ssh.plist

Я бы предложил вам попробовать добавить любые аргументы, которые вам нужны в plist в / Library/Preferences/. Например, в моем случае мне нужно было внести небольшое изменение в mDNSResponder, чтобы добавить флаг AlwaysAppendSearchDomains. Как предложил "bwells" на форумах разработчиков Apple, мне просто нужно было сделать

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist AlwaysAppendSearchDomains -bool YES
sudo launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

Это гораздо более чистый подход и сохраняется при перезагрузке, а также должен пережить обновление (по крайней мере, во время бета-версий мои ручные изменения после отключения SIP были перезаписанный.) Обратите внимание, насколько я знаю, это ново для El Capitan.

вы также можете оставить SIP включен при отключении управления файловой системой. Перезагрузитесь в режиме восстановления и запустите:

csrutil enable --without fs

Это позволит вам изменить разрешения.

Я использую carbon copy cloner для создания клонируемых резервных копий... и есть несколько в ротации.

согласно майку в bombich " SIP применяется только к тому, с которого вы в настоящее время загружены, поэтому [можно] загрузиться с резервного тома для удаления [файлов]".

Я не использовал Йоханнеса ответа (диск восстановления, csrutil включить/выключить), но это требует перезагрузки -> накопителя -> включить глоток выключение -> перезагрузка -> удалить хрень -> перезагрузка -> накопителя -> включить SIP обратно на -> перезагрузка ... четыре перезагрузит.

но загрузка с клона и просмотр исходного диска в качестве дополнительного диска позволит вам удалить проблемные файлы в двух перезагрузках... да?

  1. просто загрузитесь в режим" восстановление", нажав" CMD+R " при перезагрузке.
  2. Открыть Терминал
  3. ваш диск будет установлен в /Volumes / Macintosh HD
  4. удалить файлы через "rm": у вас есть абсолютный контроль в этом терминале.

вы можете "передать" защиту SIP, изменив разрешения на файл через приложение Finder для системной группы.

изменение разрешения

Он работал штрафа для меня, даже после перезагрузки, я бегу

ProductName: Mac OS X ProductVersion: 10.11 BuildVersion: 15A284