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

源:http://www.jianshu.com/p/22b89f19afd6

评:

更新了MacOSX11后发现,MacVim不再能够通过Terminal用命令打开了。

mvimhello.txt

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

sudocp-fmvim/usr/bin/

然而出现了权限问题:

cp:/usr/bin/mvim:Operationnotpermitted

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

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

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

csrutildisable

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

csrutilenable

附录:

csrutil命令参数格式:

csrutilenable[--withoutkext|fs|debug|dtrace|nvram][--no-internal]

禁用:csrutildisable

(等同于csrutilenable--withoutkext--withoutfs--withoutdebug--withoutdtrace--withoutnvram)

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

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

來源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。