"ограниченная" папка / файлы в 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 ответов:
вы также можете временно отключить SIP следующим образом
- перезагрузка
- как только вы услышите "звук Mac" на сером экране, нажмите Cmd+R, чтобы войти в режим восстановления
- Открыть Утилиты - > Терминал
- выполнить команду
csrutil disable
- перезагрузка, вы приземляетесь в обычной ОС с отключенным SIP
- сделать все изменения, которые вы хотели бы сделать
- перезагрузка снова
- как только вы услышите "звук Mac" на экране серый экран, нажмите Cmd+R, чтобы войти в режим восстановления
- включить SIP с
csrutil enable
- перезагрузка снова
- сделал
пока 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 обратно на -> перезагрузка ... четыре перезагрузит.
но загрузка с клона и просмотр исходного диска в качестве дополнительного диска позволит вам удалить проблемные файлы в двух перезагрузках... да?
- просто загрузитесь в режим" восстановление", нажав" CMD+R " при перезагрузке.
- Открыть Терминал
- ваш диск будет установлен в /Volumes / Macintosh HD
- удалить файлы через "rm": у вас есть абсолютный контроль в этом терминале.