一、前因
蘋果從 OS X El Capitan 10.11 系統開始使用了 Rootless 機制
,可以將該機制理解為一個更高等級的系統的內核保護措施,系統默認將會鎖定 /system
、/sbin
、/usr
這三個目錄。
二、后果
Rootless 機制雖然在一定程度上增加了系統的安全性,但作為一名開發人員會經常的操作 /usr 這個目錄,這個時候你會發現你使用的任何命令都會提示沒有操作權限,即使使用 root 權限也不行。
比如咱們在 /usr 目錄下新建一個目錄 myl,命令及提示如下:
$ sudo mkdir myl
Password:
mkdir: myl: Operation not permitted
從上面的代碼可以看出,即使我們使用了 sudo 授權,還是沒操作權限。下面咱們來介紹怎樣關閉和開啟 Rootless 機制。
三、開關 Rootless
關閉和開啟 Rootless 非常簡單,方法如下:
重啟 Mac,聽到開機啟動聲后按下 Command+R
,進入恢復模式,在上面的菜單實用工具
中找到並打開 Terminal
(如果頂部沒出現菜單,請繼續重啟_)。輸入如下命令:
1. 關閉 Rootless
$ csrutil disable
2. 開啟 Rootless
$ csrutil enable
執行完命令后,重啟電腦即可生效。為了系統的安全,建議大家平時都開啟 Rootless,只有需要時才暫時關閉。
本文首發於馬燕龍個人博客,歡迎分享,轉載請標明出處。
馬燕龍個人博客:http://www.mayanlong.com
馬燕龍個人微博:http://weibo.com/imayanlong
馬燕龍Github主頁:https://github.com/yanlongma