Mac 錦囊 —— 誤刪除admin組之後

起因

手誤,不小心刪除了Macbook Air的admin用戶組,一瞬間,所有用戶包括root都失去了admin的權限,當然root還是root ^_^, 也是唯一的救命稻草。

解決方法

適用版本

  • 10.7 或者以上均可。

  • 以下的所有方法都基於Mac的SUM —— Single User Model模式, 即在開機時,按下cmd + s進入此模式。

忘記管理員密碼

對於忘記密碼的孩紙們,可以使用下面的方法新建一個用戶,此方法安全有效,不需要擔心資料被刪除。原理嘛,就是刪除apple的某個記錄文件,讓Mac以爲這是一臺新電腦,啓動最開始的配置助手,新建一個用戶,此時用戶會被賦予管理員權限,當然,記得取一個和之前不一樣的名字。

1
2
3
mount -uw /
rm /var/db/.AppleSetupDone
reboot

輸入上述三行代碼,即可新建一個管理員用戶。

之後的做法,大家就知道了。。。

用戶組admin損壞或者被刪除

這種情況相對於上述情況,要棘手一些,因爲admin組被刪除了,所以即使是通過上述方法新建一個用戶,同樣也只會是standard的用戶。。。

具體解決方法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 首先檢查文件系統錯誤
/sbin/fsck -fy

# 如果沒有問題,則掛載文件系統並加載opendirectoryd
mount -uw /
launchctl load /System/Library/LaunchDaemons/com.apple.opendirectoryd.plist

# 現在本地的node已經掛載,可以進行下面的操作重建admin組,並把root和your_user重新分配到admin組中
dseditgroup -o create -i 80 admin
dscl . append /groups/admin GroupMembership root
dscl . append /groups/admin GroupMembership your_user

#檢查下,是否已經爲root和your_user添加上了admin組
dscl . read /groups/admin GroupMembership

# 最後,重啓進入就可以看到用戶被加上了admin權限 ^_^
reboot

另外

當在Single User Model下運行dscl的時候,可能會看到以下信息:

launchctl: Couldn't stat("/System/Library/LaunchDaemons/com.apple.DirectoryServicesLocal.plist"): No such file or directory nothing found to load

這個信息可以直接無視掉

後記

各種倒騰都是有代價的,童鞋們還是小心爲妙啊!

參考資料

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章