Mac中 /usr/bin 的 Operation not permitted 解法

2016-12-31
更新Mac OSX完後發現Ruby compass無法在Sublime Text 3下執行, 爬了一下文發現原來是更新的OSX加入了Rootless機制,用來防止惡意軟體程序攻擊,不過這確造成另一個困擾,就是軟體會因為權限的關係,很難在互相取用資源,所以可以透過以下方式將其關閉:

先重啟電腦按下Command+R進入Recovery模式, 在Recovery模式下執行Terminal然後執行下面指令
csrutil disable

如果事後要再恢復則可以執行:
csrutil enable

csrutil還有其相關設定項目,可參考需求進行微調整:
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] 允许设备配置(新增,具体作用暂时未确定)

文章來源: http://www.jianshu.com/p/22b89f19afd6#

Contact

Github

Codepen

歡迎參觀我的賣場
© 2013 Copyright Digishot Web | Design Tools
Visitors【703550】
digishot webdesign studio