OS X El Capitan中的"受限制"文件夹/文件

Spe*_*niz 70 permissions macos file osx-elcapitan

从OS X Yosemite升级到OS X El Capitan Developer Preview后,我尝试编辑 /System/Library/LaunchDaemons/ssh.plist将默认SSH端口更改为自定义端口.这是我用了几年的过程.

问题是El Capitan不允许我更改此文件夹中的任何内容(甚至不使用"sudo").当我用"ls -lO"列出内容时,文件夹及其文件被标记为"受限制".以前版本的OS X中的相同文件夹列表不显示"受限制".

这是OS X El Capitan的新功能吗?如何编辑"受限制"的文件/文件夹?


我发现这是因为El Capitan引入了一项名为"SIP"(系统完整性保护)的新功能.

在此处阅读更多内容:https://forums.developer.apple.com/thread/4731?q = SIP

不幸的是,没有人建议在不实际禁用SIP的情况下编辑"受限制"文件/文件夹的方法.

Joh*_*iss 74

您还可以通过以下方式临时禁用SIP

  1. 重启
  2. 一听到灰色屏幕上的"Mac声音",按Cmd + R进入恢复模式
  3. 打开实用程序 - >终端
  4. 运行命令 csrutil disable
  5. 重新启动,您将在禁用SIP的普通操作系统中登陆
  6. 做你想做的所有改变
  7. 重新启动
  8. 一听到灰色屏幕上的"Mac声音",按Cmd + R进入恢复模式
  9. 启用S​​IP csrutil enable
  10. 重新启动
  11. DONE


emp*_*cle 27

直到10.11取消保护/ System/Library中的某些文件或允许您自己执行此操作,不禁用SIP的唯一方法是通过将文件复制到其他位置来创建不同的服务,例如:

sudo cp /System/Library/LaunchDaemons/ssh.plist /Library/LaunchDaemons/ssh.plist
Run Code Online (Sandbox Code Playgroud)

然后,您可以自己管理服务,而不是使用"系统偏好设置"中的"共享"面板:

sudo launchctl unload /Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /Library/LaunchDaemons/ssh.plist
Run Code Online (Sandbox Code Playgroud)