我正在運行 Linux Mint 11,但我失去了使用權限sudo
,顯然是由於不小心將自己從管理群組中刪除了。
當我使用該groups
命令列出我所在的群組時,它僅顯示我的使用者 ID 和 vboxusers。我想我錯誤地使用了 usermod 而不是 useradd 將我的 ID 放入 vboxusers 群組中,因此我被從所有其他群組中刪除。
我在網路上找到的解決方案(如下:http://www.psychocats.net/ubuntu/fixsudo)描述在 GRUB 選單中選擇恢復模式、取得 root 提示並使用它將我的使用者新增回群組。但是當我這樣做時,它會要求輸入 root 密碼,我不知道密碼,因為 Linux Mint 和其他基於 Ubuntu 的發行版不允許您在安裝過程中查看或設定 root 密碼。
我有 Linux live CD,所以我可以透過這種方式獲得 root 權限,但這並不能讓我透過命令列操作 Mint 安裝中的使用者。但是,我可以使用它來編輯任何文件,那麼我應該編輯哪個文件以及如何編輯它以便我可以重新獲得管理員(以及因此的 sudo)權限?
我的 ID 仍在 sudoers 檔案中,如cat /media/mint/etc/sudoers
執行 Live CD 時所示。
答案1
您必須啟動到復原模式才能獲得根(系統範圍)存取權限才能進行修復
如果您有單啟動(Ubuntu 是您電腦上唯一的作業系統),要顯示啟動選單,您必須在啟動過程中按住 Shift 鍵。
從啟動選單中選擇恢復模式
選擇恢復模式並等待所有啟動過程完成後,您將看到幾個選項。在這種情況下,您需要該Drop to root shell prompt
選項。
/etc/group
是定義系統上的群組的文件
然後,您可以使用adduser username admin
將您的使用者重新新增至管理員群組。
或者,您可以使用該命令安全地vigr
編輯文件/etc/group
格式範例;
group-name:x:group-number:user1,user2
admin:x:110:username
答案2
我最近在 Ubuntu 16.04 上遇到了完全相同的問題。我將我的用戶添加到一個沒有該-a
選項的群組中,並從包括 在內的所有其他群組中刪除sudo
,因此失去了將其添加回來的 root 權限。
我找到的解決此問題的解決方案需要我啟動到恢復模式。我無法執行此操作,因為我只有一個藍牙鍵盤,只有登入後才能使用。
我在另一個問題的答案中找到了解決這個問題的過程: https://askubuntu.com/a/435347/841719。對上下文進行輕微編輯後重新措辭
- 啟動至即時媒體。您可以使用 Ubuntu USB。
- 打開終端
使用以下命令找出主磁碟(根分割區“/”)的裝置名稱
sudo fdisk -l
使用讀取/寫入模式將其安裝在某處,以便我們可以使用它(*將磁碟變更為
sda1
您的磁碟機名稱):sudo mount -o rw /dev/sda1 /mnt
- 使用 CD 插入已安裝的驅動器
cd /mnt
使用編輯群組文件
sudo gedit /etc/group
將您的使用者名稱新增至重要群組,例如 sudo、admin 等。
格式範例:group-name:x:group-number:user1,user2 admin:x:110:username
儲存檔案並退出
- 停止
/mnt
使用cd /
- 使用卸載驅動器
umount /mnt
(它給我帶來了一個錯誤,所以我忽略了這一步) - 關閉 PC,移除可啟動的 Live USB 並啟動至本機 Ubuntu。
現在您應該已恢復 sudo 權限。透過輸入檢查
sudo df
答案3
類似或可能相同的問題:出於某種原因,創建 USB live mint(在我的例子中是 mate+cinnamon)不允許您使用 sudo(因此您無法安裝)。
瘋狂的是你可以在非圖形控制台中su!
為了解決這個問題:
- 打開終端機並輸入
passwd
- 給薄荷糖一個密碼
- 按Ctrl+ Alt+F1前往非圖形控制台
- 使用您的密碼以 mint 登入
- 輸入
su
成為root - 型式
echo "mint ALL=(ALL:ALL) ALL" >> /etc/sudoers
(附引號)