root时不允许操作 - El Capitan(禁用无根状态)。

我正试图在OS X El Capitan上把一些东西移到/usr/bin。我已经用以下命令禁用了无根状态: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
解决办法

不知道。对于其他遇到这个问题的人,你需要重新启动你的Mac,并在启动时按⌘+R。然后进入Utilities > Terminal,输入以下命令。

csrutil disable
reboot 

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

EDIT

如果你知道你在做什么,并且习惯于运行Linux,你应该使用上述解决方案,因为许多SIP的限制完全是个麻烦。

但是,如果你是一个*人/新手/"poweruser"并且不知道自己在做什么,这可能非常危险,你最好使用下面的答案

评论(14)

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

*SIP不应该像上面的回答那样被禁用,因为它增加了另一层保护,防止恶意软件获得root权限。这里是对SIP的作用和为什么它是有用的完整解释。

正如这个答案中建议的那样,不应该禁用SIP(无根模式) "不建议禁用无根模式!最好的做法是安装自定义的东西。最好的做法是把自定义的东西安装到"/usr/local",只安装"

评论(7)

如果你想控制/usr/bin/,那么你就可以控制它。

你将需要重新启动你的系统。

在启动声音之后,按住Command-R启动到恢复系统。

点击实用程序菜单,选择终端

输入csrutil disable并按回车键

点击菜单,选择重新启动

一旦你提交了你的修改,确保重新启用SIP!它对保护你的系统有很大作用。(除了输入:csrutil enable,其他步骤与上面相同)

评论(0)