您的位置:首页 > 运维架构

Mac OS X 11中的/usr/bin 的“Operation not permitted”

2016-12-08 01:04 696 查看
更新了 Mac OS X 11后发现,
MacVim
不再能够通过Terminal用命令打开了。

mvim hello.txt

于是尝试将 mvim 重新复制到/usr/bin/中去

sudo cp -f mvim /usr/bin/

然而出现了权限问题:

cp: /usr/bin/mvim: Operation not permitted

搜索之后发现,是
El Capitan
加入了
Rootless机制
,不再能够随心所欲的读写很多路径下了。设置 root 权限也不行。

Rootless机制将成为对抗恶意程序的最后防线

于是尝试关闭 Rootless。重启按住 Command+R,进入恢复模式,打开Terminal。

csrutil disable

重启即可。如果要恢复默认,那么

csrutil enable

附录:
csrutil命令参数格式:

csrutil enable [--without kext | fs | debug | dtrace | nvram][--no-internal]

禁用:
csrutil disable


(等同于csrutil enable --without kext --without fs --without debug --without dtrace --without nvram)

其中各个开关,意义如下:

B0: [kext] 允许加载不受信任的kext(与已被废除的kext-dev-mode=1等效)
B1: [fs] 解锁文件系统限制
B2: [debug] 允许task_for_pid()调用
B3: [n/a] 允许内核调试 (官方的csrutil工具无法设置此位)
B4: [internal] Apple内部保留位(csrutil默认会设置此位,实际不会起作用。设置与否均可)
B5: [dtrace] 解锁dtrace限制
B6: [nvram] 解锁NVRAM限制
B7: [n/a] 允许设备配置(新增,具体作用暂时未确定)

文/midmirror(简书作者)

原文链接:http://www.jianshu.com/p/22b89f19afd6

著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mac os x