リカバリモードで設定された Ubuntu のルート パスワードが機能しない

リカバリモードで設定された Ubuntu のルート パスワードが機能しない

私は19.04からアップグレードした19.10を使用しています。OSは、以下からダウンロードした仮想マシンイメージでした。 https://www.osboxes.org/ubuntu/ ダウンロードしたイメージは 19.04 でしたが、これを 19.10 にアップグレードしました。アップグレード中にいくつか問題が発生しましたが、解決できました。VMware で 19.04 から 19.10 にアップグレードした後、Ubuntu が起動時に停止する [カーネル パニックが終了し、同期されません:VFS:ブロック (0,0) にルート ファイル システム (fs) をマウントできません]

デフォルトのパスワードはhttps://www.osboxes.org/faq/what-are-the-credentials-for-virtual-machine-image/ デフォルトの管理者アカウント osboxes.org がありましたが、これを削除して debian という新しいユーザーを作成しました (これは 19.04 からアップグレードした後、19.10 で実行しました)。アップグレード前のマシンの使用中に、おそらく忘れてしまったルート パスワードをリセットし、アップグレード後に元のユーザー アカウント osboxes.org を削除しました。新しいユーザー ユーザー名:debian を作成しましたが、そのパスワードも忘れてしまいました。そこで、ここで説明されているように、ルート パスワードをリセットすることを考えました。 https://md3v.com/linux-give-root-password-for-maintenance-lost-password
すべてが完璧に機能し、ルート パスワードをリセットできました。現在、Gnome インターフェイスからルートとしてログインしようとすると、更新されたパスワードが受け入れられず、結果としてロックアウトされます。この状況から抜け出すにはどうすればよいですか。エラー メッセージも表示されません。ルート パスワードを debian に設定しましたが、機能しません。

答え1

グラフィカルroot ログインはサポートされていません。これは一般的なルートログインとは別ですsudoは有効にすると正常に動作しますが、同じパワーが得られ、いくつかの利点があるため、通常は推奨されません(以下を参照)。

ルートとしてグラフィカルにログインできない原因は、ルートのパスワードを正しく入力しているにもかかわらず、ディスプレイ マネージャーがそれを許可しないように設定されていることです。ディスプレイ マネージャーを再設定して許可するようにすることもできます (ディスプレイ マネージャーはおそらく GDM です)。ただし、再設定しても、グラフィカル ルート ログインは機能する可能性があります。非常に悪いこれは、Ubuntu でサポートまたはテストされているユースケースではないためです。

グラフィカルなルートログインも避けるべきである。不必要に多くのものをrootとして実行するたとえ完璧に動作したとしても、いかなる状況でも使用しないことがユーザーには推奨されます。(これが、Ubuntu で動作させるための努力が行われていない理由です。)

グラフィカルにログインする場合は、非ルートユーザーとしてログインする必要があります。もし--rootとしてログインする必要があります。できる、非グラフィカルで実行します。root のパスワードを設定するために使用したのと同じ方法を使用して別のユーザーのパスワードを設定することもできますが、必ずしもそうする必要はありません。root ログインを有効にしたので、非 root ユーザーのパスワードを効率的に、再起動せずに設定できます。

  1. Ctrl+ Alt+を押してテキストベースの仮想コンソールに切り替えますF2

    (一般的に、Ctrl++Altは仮想コンソールに切り替えます。切り替える仮想コンソールがFnttynからテキストベースの場合は、Ctrlこのキーの組み合わせを省略できますが、省略する必要はありません。

  2. rootユーザー名として を入力し、パスワードとして root に設定したパスワードを入力してログインします。これは非グラフィカル ログインです。提供された情報に基づくと、これが失敗する理由はないと考えられます。

  3. 非ルートユーザーアカウントのパスワードを設定するために実行しますpasswd useruser。 交換するuser実際のユーザー名を入力します。

    または実行して新しいユーザーを作成しますadduser useruser要求された情報を入力します。本当に重要なのはパスワードですが、ほとんどの人はフルネームのフィールドにも何か入力するでしょう。

  4. GUI が実行されている仮想コンソールに戻ります。これは通常 なのでtty7Ctrl+ Alt+ を押しますF7

  5. パスワードを設定したユーザーとしてログインします。

ルートアカウントが有効になっているので、suターミナルで を実行してルートシェルを取得し、そこからルートとしてコマンドを実行できます。これを初期ログインシェルとして動作させたい場合に を使用します。またはsu -から取得したシェルは、好きなだけ(つまり、そのシェルで実行するか終了するまで)存続しますが、非ルートユーザーが直接実行できない管理タスクにのみ使用することをお勧めします。 は、シェルを起動するのではなく、ルートとして単一のコマンドを実行します。(susu -exitsu -c 'some-command'some-commandは 1 つの単語です。つまり、コマンドライン引数がない場合は引用符を省略できます。) を使用する場合はsu、root としてログインするときと同じように、root のパスワードを入力します。 を実行するたびに、このパスワードを入力する必要がありますsu


とは言うものの、sudopkexecUbuntuで管理アクションを実行するには、rootログインと--ではなく、--suが一般的に推奨される方法です。。非ルート ユーザーsudo(既存のユーザーまたは新規ユーザー) をグループに追加して、そのユーザーを管理者にすることをお勧めします。その後、そのユーザーはsudo(およびpkexec) を使用して、ルートとしてコマンドを実行できます。これを行う 1 つの方法は、上記の手順 3 で を実行することです。または、既存の非ルート ユーザー アカウントがすでにグループに含まれている場合は、 を実行して確認できます。usermod -a -G sudo usersudogroups user

でコマンドをルートとして実行するにはsudo、通常 を使用します。sudo some-commandsome-commandsudoが複数の単語で構成されている場合は、引用符で囲む必要はありません (また、囲んではなりません)。これは、よりも簡単な方法の 1 つですsu -c

また、毎回パスワードを入力する必要はなく、過去数分間sudo使用していない端末で使用する場合にのみパスワードを入力すれば済みます。この方法では、 の代わりに を使用する場合のようにパスワードを何度も入力する必要がなく、また、ルート シェルを取得する場合のように端末に入力されたすべてのコマンドをルートとして実行してしまうことなく、コマンドを他のコマンドと交互に実行できるため、必要なときのみコマンドをルートとして実行するのが効率的です。sudosudosu -csudosu

もし、あんたがするルート シェルが必要な場合は、 で取得できますsudo -s。これは、 で取得できるものとほぼ同じですsu。またsudo -i、 で取得できるものと実質的に同一ですsu -

を使用する場合はsudoあなたのパスワードであり、root のパスワードではありません。したがって、root にパスワードを設定する必要はありません。root アカウントは「無効」にできますが、それでも . を使用して root としてコマンドを実行することはできますsudo

この推奨方法に完全に切り替えることに決めた場合、つまり、ほとんどのUbuntuユーザー(およびDebianユーザーのかなりの割合)が行っている方法でシステムを管理する場合は、ルートログインを再度無効にするを実行しますsudo passwd -dl root。これにより、root としてログインしたり、 を使用して root になることはできなくなりますsuが、sudoを使用する場合も含め、を使用して root になることはできますsudo -i

関連情報