首頁 > 軟體

Ubuntu無法使用sudo提權提示當前使用者不在sudoers檔案中

2020-06-16 17:15:15

Ubuntu安裝後預設root不能登陸系統,密碼也是隨機生成,其他使用者使用root許可權,可以使用sudo提權,前提是該使用者在/etc/sudoers設定列表中。

但是有時使用者名稱從/etc/sudoers被意外刪除了,sudo不能用了,root又不知道root密碼(之前沒有改過或者忘記了),如果想修改/etc/sudoers也不可能了,進入了一個死迴圈。

但可以如下面的方法解決:

1.重新啟動按shift鍵,進入Ubuntu高階模式,選擇一個recovery mode進入,出現一個9個選項的選單,如果是安裝時語言是中文可能出現亂碼,不過不影響操作。

2.選單分別是:resume恢復正常啟動;clean清理磁碟釋放空間;dpkg修復損壞軟體包;fsck磁碟修復;grub更新載入程式;network開啟網路;root進入root的shell。

這裡先選擇fsck選擇左邊按鈕yes進入讀寫模式,接著回車後返回選擇root進入才可以修改檔案,在root的shell中可以修改root密碼,將需要sudo提權的使用者名稱加入sudo組中

$passwd root
$usrmod -G sudo qingspace

其實開啟/etc/sudoers檔案,也可以看到sudo使用者組允許sudo提權,把使用者加入sudo組就可以執行sudo命令了,這裡需要注意修改使用者組後需要重新啟動才能生效。

# User privilege specification
root    ALL
=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group
sudo to execute any command
%sudo  ALL=(ALL:ALL) ALL

3. 如果對recovery mode模式下中文亂碼反感的話,可以嘗試將以下目錄中的檔案重新命名,讓介面重回英文(Ubuntu16.10下測試)

$cd  /usr/share/locale-langpack/zh_CN/LC_MESSAGES/
$sudo mv friendly-recovery.mo friendly-recovery.mo.bak
$sudo mv newt.mo  mvnewt.mo.bak

Ubuntu 使用者名稱 不在 sudoers檔案中,此事將被報告。  http://www.linuxidc.com/Linux/2016-05/131248.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-05/143671.htm


IT145.com E-mail:sddin#qq.com