更新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#