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