在恢復模式下設定的 ubuntu root 密碼不起作用

在恢復模式下設定的 ubuntu root 密碼不起作用

我使用的是從 19.04 升級的 19.10。作業系統是從下載的虛擬機器映像 https://www.osboxes.org/ubuntu/ 下載的鏡像是19.04,我已經升級到19.10。在 vmware 中從 19.04 升級到 19.10 後,ubuntu 陷入啟動狀態 [最終核心恐慌未同步:VFS:無法在區塊 (0,0) 上掛載 root fs]

預設密碼是https://www.osboxes.org/faq/what-are-the-credentials-for-virtual-machine-image/ 我有一個預設的管理員帳戶osboxes.org,我將其刪除並創建了一個名為debian 的新用戶(這是我從19.04 升級後在19.10 上執行的)在升級前使用機器期間,我可能重置了我忘記的root 密碼,升級後我已經刪除了原來的使用者帳號 osboxes.org。我創建了一個新用戶用戶名:debian 我也忘記了它的密碼。所以我想到按照這裡的解釋重置root密碼 https://md3v.com/linux-give-root-password-for-maintenance-lost-password
一切都很順利,我能夠重設 root 密碼。現在,當我嘗試以 root 身分從 Gnome 介面登入時,更新的密碼不被接受,因此我被鎖定。我怎麼才能擺脫這種情況,我也沒有看到任何錯誤訊息。我將 root 密碼設定為 debian,但這不起作用。

答案1

圖形化不支援 root 登入。一般來說,這與 root 登入是分開的,啟用後效果很好,但我們通常不鼓勵它們,因為它可以為sudo您提供相同的功能並具有一些優勢(請參閱下文)。

阻止您以 root 身分以圖形方式登入的特定機制(假設您正確輸入 root 密碼)是您的顯示管理器配置為不允許它們。您可以嘗試重新配置它,這樣它就可以了(您的顯示管理器可能是 GDM)。但即使您這樣做,圖形 root 登入也可能有效非常糟糕(如果有的話),因為這不是 Ubuntu 支援或測試的用例。

也應該避免圖形 root 登錄,因為它們涉及不必要地以 root 身分運行很多東西。即使它們工作完美,我們仍然建議用戶在任何情況下都不要使用它們。 (這就是為什麼沒有努力讓它們在 Ubuntu 中運作。)

當您以圖形方式登入時,您應該以非 root 使用者身分登入。什麼時候 -如果--您應該以 root 身分登錄,並且,以非圖形方式進行。儘管您可以使用為 root 設定密碼的相同方法為另一用戶設定密碼,但您不必這樣做。由於您已啟用 root 登錄,因此您可以有效地為非 root 使用者設定密碼,而無需重新啟動:

  1. Ctrl按+ Alt+切換到基於文字的虛擬控制台F2

    (一般來說,Ctrl++Alt切換到虛擬控制台。當你切換虛擬控制台時Fnttyn是基於文字的,您可以Ctrl從該組合鍵中省略,但不是必須的。

  2. root輸入使用者名稱和您為 root 設定的密碼作為密碼登入。這是非圖形登入。根據您提供的信息,沒有理由認為此操作會失敗。

  3. 執行為某些非 root 使用者帳號設定密碼passwd useruser。代替user與實際的用戶名。

    或運行創建新用戶adduser useruser。輸入所需的資訊。真正重要的是密碼,儘管大多數人也想在全名字段中輸入一些內容。

  4. 切換回運行 GUI 的虛擬控制台。這通常是這樣,tty7因此請按Ctrl++ 。AltF7

  5. 以您設定密碼的使用者登入。

由於您已啟用 root 帳戶,因此您可以su在終端機中執行以取得 root shell,您可以從中以 root 身分執行命令。su -如果您希望其充當初始登入 shell,請使用。您從中獲得的 shellsusu -可以持續使用您喜歡的時間(即,直到您exit在其中運行或以其他方式退出它),但最好僅將其用於非 root 使用者無法直接執行的管理任務。以 root 身分執行單一命令而不是啟動 shell。 (什麼時候su -c 'some-command'some-command只是一個單詞,即當沒有命令列參數時,您可以省略引號su。每次運行時都必須輸入它su


照這樣說,sudopkexec-- 而不是 root 登入 和su-- 是在 Ubuntu 上執行管理操作的通常推薦方法。我建議您考慮向該群組新增一個非 root 使用者sudo(現有使用者或新使用者),這使該使用者成為管理員。然後該使用者可以使用sudo( 和)以 root 身分執行命令pkexec。執行此操作的一種方法是運行上面的步驟 3。或者您現有的非 root 使用者帳戶可能已經在該群組中;你可以跑去檢查一下。usermod -a -G sudo usersudogroups user

要以 root 身分執行命令sudo,通常會使用。即使當sudo some-commandsome-command由多個單字組成,不需要(也不得)引用。這是sudo比 更容易的方法之一su -c

您也不必每次都輸入密碼;相反,您只需輸入它即可在過去幾分鐘內sudo未使用過的終端中使用。sudo這樣,僅當您需要時才以 root 身份運行命令是高效的,因為您可以將命令與其他命令交錯,而不必像使用而不是那樣sudo多次鍵入密碼,並且無需最終運行輸入到的所有命令該終端以root 身份運行,就像您以前獲得 root shell 一樣。su -csudosu

如果你想要一個 root shell,您可以使用 獲得一個sudo -s,這與您從 獲得的非常相似su,或者sudo -i,這與您獲得的幾乎相同su -

當你使用時sudo,你輸入你的密碼,不是 root 的密碼。因此root不需要設定密碼; root 帳戶可以被“停用”,但您仍然可以使用 root 身分執行命令sudo

如果您決定完全切換到這種推薦的方法——也就是說,如果您以大多數 Ubuntu 用戶(以及相當一部分 Debian 用戶)的方式管理系統——那麼您可以重新禁用 root 登入透過跑步sudo passwd -dl root。這將使您無法以 root 身分登入或成為 root su,但您仍然可以成為 root sudo,包括 with sudo -i

相關內容