在根上不允许操作- El Capitan(无根禁用)

我正在尝试移动一些东西到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
389973 次浏览

Nvm。对于其他有此问题的人,您需要重新启动mac并在启动时按⌘+ R。然后进入公用事业>终端,输入以下命令:

csrutil disable
reboot

这是系统完整性保护的结果。更多信息在这里

编辑

如果你知道你在做什么,并且习惯了运行Linux,你应该使用上面的解决方案,因为许多SIP限制完全是一个痛苦的屁股。

然而,如果你是一个位新手/“poweruser”,不知道你在做什么,这可能是非常危险的,你最好使用答案如下

正确的解决方案是复制或安装到/usr/local/bin而不是/usr/bin。这是由于系统完整性保护(SIP)。SIP将/usr/bin设置为只读,而将/usr/local设置为读写。

SIP不应该像上面的答案中所说的那样被禁用,因为它增加了另一层保护,防止恶意软件获得根访问权。这里<强> < / >强是一个完整的解释SIP做什么,为什么它是有用的。

正如这个答案所建议的那样,不应该禁用SIP(无根模式)“不建议禁用无根模式!”最好的做法是只在“/usr/local”中安装自定义内容。

如果你想控制/usr/bin/

您需要重新启动您的系统:

在启动声音响起后,按住Command-R引导进入恢复系统

单击Utilities菜单并选择Terminal

输入csrutil disable并按回车键

单击“订阅”菜单并选择“重启”

一旦提交了更改,请确保重新启用SIP!它能保护你的系统。(除了type: csrutil enable外,步骤与上面相同)

最可能的原因是系统完整性保护(SIP)——csrutil是命令行实用程序。如果要查看该目录,需要禁用该目录。

  • 要查看您的状态,您需要:

csrutil status

  • 禁用它(这通常是一个坏主意):

csrutil disable

(那么您可能需要重新启动)。

要启用它(当你完成时,它应该被打开):

csrutil enable

你只需要允许终端应用程序执行这样的修改。

我已经尝试了以下,它像一个魅力😇: 下拉Apple菜单并选择“系统首选项”

选择“安全&“隐私”控制面板

现在选择“隐私”选项卡,然后从左侧菜单选择“全磁盘访问”

单击首选项面板左下角的锁定图标,并用管理员级别的登录进行身份验证

现在点击[+]+按钮添加终端应用程序与完全磁盘访问,(应用程序从应用程序文件夹获取)。