Linux

無法切換到 root 或使用 sudo

  • July 5, 2015

我剛剛遇到以下問題:

出於某種原因,我不能使用 su 或 sudo:

usr@usr-MS-7816:~$ su
Password: 
su: Authentication failure
usr@usr-MS-7816:~$ sudo su
[sudo] password for usr: 
usr is not in the sudoers file.  This incident will be reported.
usr@usr-MS-7816:~$ 

我可以sudo su早點使用。也許是因為我給自己分配了另一個小組,我真的不知道。我還嘗試進入恢復模式,我可以以 root 身份登錄,但它不允許我更改/etc/passwd/etc/sudoers文件(它說它們是只讀的)!我現在該怎麼辦?

這是 Ubuntu 15.04

將評論推廣到答案:為了快速解決您的問題,您可能應該嘗試按照我們的姊妹網站 AskUbuntu 的建議,了解如何重置您的 root(管理員)密碼,這應該涵蓋您

詳細回答您的問題,以解釋出了什麼問題…

usr@usr-MS-7816:~$ su
Password: 
su: Authentication failure

這似乎表明您忘記了 root 密碼,或者在安裝過程中從未設置過密碼。

usr@usr-MS-7816:~$ sudo su
[sudo] password for usr: 
usr is not in the sudoers file.  This incident will be reported.

如果不是 root,您將無法檢查/etc/sudoers/etc/sudoers.d查看 sudo 規則對您的系統的內容。這意味著你不能立即看到你做錯了什麼。可能是您不在合適的組中,也可能是您的 sudo 配置中沒有任何基於使用者或組的規則來允許 sudo 進入 root。那裡有很多不錯的 sudo 教程,一旦您回到系統,我建議您查看它們 + 決定是按組還是按使用者啟用 sudo,然後添加相關的 sudo 行/將自己添加到正確的組。

最後,你說:

我也嘗試進入恢復模式,我可以以 root 身份登錄,但它不允許我更改 /etc/passwd 或 /etc/sudoers 文件(它說它們是只讀的)

您需要做的是啟動進入恢復模式,然後啟用對文件系統的讀寫訪問。

正如AskUbunut 的答案中所述,一旦您將終端置於恢復模式,您將需要執行以下操作:

mount -rw -o remount /
passwd
sync
reboot

這將重新以讀寫方式掛載根分區,因此您可以更改它。然後更改root密碼(作為root,您不需要輸入前一個密碼),然後同步以強制更改到磁碟,然後關閉+重新啟動回到正常模式,您可以使用新密碼訪問root

引用自:https://serverfault.com/questions/703623