Linuxでrootのパスワードを忘れた時の対処方法

Linuxでrootのパスワードを忘れた時の対処方法

Linuxを使っていて、一般ユーザーで操作することが多いと、たまにrootでの作業が必要なときにパスワードを忘れていてログインできないといったトラブルに見舞われることがあります。

そこでここでは、RedHat系LinuxのAlmaLinuxを例に、rootのパスワードを忘れた時の対処方法として、rootのパスワードを再設定する方法を解説します。

sudoコマンドを使って再設定する方法

普段から、通常操作は一般ユーザーで行いroot権限が必要なコマンドを実行するときにsudoコマンドを使っているなら、sudoコマンドで簡単にrootのパスワードを再設定できます。

$ sudo passwd root

Linux起動時に再設定する方法

sudoコマンドを使ったパスワードの再設定ができない場合は、コンソールで以下の手順を実施することで、rootパスワードを再設定できます。

RHEL7~8系OSの場合

対象のマシンを再起動して、カーネルの選択画面が表示されたら、自動起動前のカウントダウン中にいずれかのキーを押して選択画面の状態にして、デフォルトのカーネル行が選択された状態のままで「E」キーを押して編集モードに移行します。

Linuxでrootのパスワードを忘れた時の対処方法

編集モードに移行したら「linux」「linux16」「linuxefi」の何れかで始まる行にある「rhgb」を削除し(「LANG=ja_JP.UTF-8」があれば合わせて削除)、行の末尾に半角スペースを空けて「rw init=/bin/sh」と追記します。

Linuxでrootのパスワードを忘れた時の対処方法

編集前

Linuxでrootのパスワードを忘れた時の対処方法

編集後

編集が済んだら「Ctrl+X」キーを押して起動すると、rootユーザでログインした状態になるので、passwdコマンドを使ってパスワードを再設定します。

sh-4.2# passwd

SELinuxが有効な環境では、以下のコマンドも実行します。

sh-4.2# touch /.autorelabel

パスワードの再設定が済んだら、以下のコマンドを実行して、通常の起動モードに移行します。

sh-4.2# exec /sbin/init

以上で、通常モードでLinuxが起動し新しいパスワードでログインできるようになっています。

RHEL9系OSの場合

対象のマシンを再起動して、カーネルの選択画面が表示されている間にいずれかのキーを押して選択画面の状態にして、デフォルトのカーネル行が選択された状態のままで「E」キーを押して編集モードに移行します。

Linuxでrootのパスワードを忘れた時の対処方法

編集モードに移行したら「linux」で始まる行の末尾に半角スペースを空けて「rd.break」と追記します。

Linuxでrootのパスワードを忘れた時の対処方法

編集前

Linuxでrootのパスワードを忘れた時の対処方法

編集後

編集が済んだら「Ctrl+X」キーを押して起動すると、switch_rootプロンプトが表示されるので、ファイルシステムを書き込み可能で再マウントします。

switch_root:/# mount -o remount,rw /sysroot

次に、chroot環境に入ります。

switch_root:/# chroot /sysroot

chroot環境に入ったら、passwdコマンドを使ってパスワードを再設定します。

sh-5.1# passwd

SELinuxが有効な環境では、以下のコマンドも実行します。

sh-5.1# touch /.autorelabel

パスワードの再設定が済んだら、以下のコマンドを順に実行して、通常の起動モードに移行します。

sh-5.1# exit
switch_root:/# exit

以上で、通常モードでLinuxが起動し新しいパスワードでログインできるようになっています。

あとがき

rootのパスワードの入力機会がないと、いざという時にパスワードを忘れてしまって分からないといった状況もあり得ます。そのようなときにお役立てください。