OS X El Capitan中的“受限”文件夹/文件

从OS X Yosemite升级到OS X El Capitan开发者预览版后,我试图编辑/System/Library/LaunchDaemons/ssh.plist将默认的SSH端口更改为自定义端口。 这是我已经使用了几年的过程。

问题是,埃尔卡皮坦不允许我改变这个文件夹中的任何东西(甚至没有“sudo”)。 当我用“ls -lO”列出内容时,该文件夹及其文件被标记为“受限 。 以前版本的OS X中列出的相同文件夹不显示“受限制”。

这是OS X El Capitan的新东西吗? 如何编辑“限制”的文件/文件夹?


我发现这是由于El Capitan引入的一个名为“SIP”(系统无关性保护)的新function。

在这里阅读更多: https : //forums.developer.apple.com/thread/4731?q=SIP

不幸的是,没有人build议在不实际禁用SIP的情况下编辑“受限制”的文件/文件夹。

您也可以通过以下方式暂时禁用SIP

  1. 重启
  2. 只要您听到灰色屏幕上的“Mac声音”,请按Cmd + R进入恢复模式
  3. 打开实用程序 – >terminal
  4. 运行命令csrutil disable
  5. 重启后,您将在禁用SIP的正常操作系统中login
  6. 做所有你想做的改变
  7. 重新启动
  8. 只要您听到灰色屏幕上的“Mac声音”,请按Cmd + R进入恢复模式
  9. 启用csrutil enable启用S​​IP
  10. 重新启动
  11. DONE

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

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

然后,您不必使用“系统偏好设置”中的“共享”面板,而是自己pipe理服务:

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

我build议你尝试在/ Library / Preferences /中添加你需要的任何参数给plist。 例如,在我的情况下,我需要对mDNSResponder稍作修改以添加AlwaysAppendSearchDomains标志。 正如苹果开发者论坛上的“bwells”所build议的那样,我只需要做

 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 

这是一个非常干净的方法,在重新启动后仍然存在,并且在升级过程中也可以继续运行(至less在禁用SIP之后,在我的手动更改过程中被覆盖)。 请注意,据我所知,这是El Capitan的新function。

您也可以在禁用文件系统pipe理的同时离开SIP。 在恢复模式下重新启动并运行:

 csrutil enable --without fs 

这将允许您根据需要更改权限。

我使用碳复制克隆人做可克隆的备份…并有几个轮stream。

根据bombich的说法,“SIP只适用于你当前启动的卷,所以[可以]从备份卷启动删除[文件]”。

我确实使用johannes的答案(恢复驱动器,csrutil启用/禁用),但这需要重新启动 – >恢复驱动器 – >closuresSIP – >重启 – >删除废话 – >重启 – >恢复驱动器 – >重启…四次重启。

但是从克隆启动并将原始驱动器视为辅助驱动器将允许您在两次重新启动时删除有问题的文件…是的?

  1. 只需在重新启动时按“CMD + R”即可启动到“恢复”模式。
  2. 打开terminal
  3. 您的磁盘将安装在/ Volumes / Macintosh HD中
  4. 通过“rm”删除文件:你在那个terminal有绝对的控制权。

您可以通过通过Finder应用程序修改系统组的文件权限来“通过”SIP保护。

修改权限

即使在重新启动后,我仍然运行良好,我正在运行

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