Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
26.10.4. root パスワードの変更およびリセット
Red Hat Enterprise Linux 7 インストールでは、root
パスワードを設定する必要があります。root
パスワードが分からなくなった場合は、パスワードをリセットできます。ユーザーが wheel グループのメンバーである場合は、以下のように root
パスワードを変更できます。
~]$ sudo passwd root
GRUB 2 では、Red Hat Enterprise Linux 6 での GRUB のようなシングルユーザーモードでパスワードの再設定を行いません。single-user
モードおよび emergency
モードでの操作には、root
パスワードが必要となっています。
root
パスワードをリセットする 2 つの手順を以下に示します。
- インストールディスクを使用した root パスワードのリセット では、GRUB 2 メニューを編集せずにシェルプロンプトにアクセスする方法について説明しています。この方法は 2 番目の手順よりも短く、推奨される方法でもあります。ブートディスクまたは通常の Red Hat Enterprise Linux 7 インストールディスクを使用できます。
-
rd.break を使用した root パスワードのリセット では、制御が
initramfs
からsystemd
に渡される前にrd.break
を使用してブートプロセスを中断する方法について説明しています。この方法の欠点は、手順が多いことです。たとえば、GRUB 2 メニューを編集し、SELinux ファイルの再ラベル行いますが、時間がかかる可能性があります。または、SELinux 強制モードを変更し、ブート完了時に/etc/shadow/
の SELinux セキュリティーコンテキストを復元する必要があります。
インストールディスクを使用した root パスワードのリセット
- システムを起動し、BIOS 情報が表示されたときに、ブートメニューのオプションを選択して、インストールディスクからのブートを選択します。
-
Troubleshooting (トラブルシューティング)
を選択します。 -
Rescue a Red Hat Enterprise Linux System (Red Hat Enterprise Linux システムのレスキュー)
を選択します。 -
デフォルトオプションである
Continue (選択)
を選択します。暗号化されたファイルシステムが見つかった場合は、この時点で、パスフレーズを入力するよう求められます。 - シェルプロンプトが表示されるまで OK を押して、表示された情報を承認します。
以下のようにファイルシステム
root
を変更します。sh-4.2# chroot /mnt/sysimage
-
passwd
コマンドを入力し、コマンドラインに表示される指示にしたがってroot
パスワードを変更します。 時間がかかるディスクの SELinux の再ラベルを防ぐために、
autorelable
ファイルを削除します。sh-4.2# rm -f /.autorelabel
-
exit
コマンドを入力して、chroot
環境を終了します。 -
exit
コマンドを再び実行して初期化を再開し、システム起動を完了します。
rd.break を使用した root パスワードのリセット
- システムを起動し、GRUB 2 ブート画面で e キーを押して編集を行います。
rhgb
パラメーターおよびquiet
パラメーターを、最後または末前 (linux16
行、UEFI システムの場合はlinuxefi
) から削除します。Ctrl+a か Ctrl+e を押して行の最初または最後に移動します。システムによっては、Home と End が機能するものもあります。
重要rhgb
およびquiet
パラメーターは、システムメッセージを有効化するために削除する必要があります。64 ビット IBM Power シリーズの場合は
linux
行、x86-64 BIOS ベースシステムの場合はlinux16
行、または UEFI システムの場合はlinuxefi
行の最後に以下のパラメーターを追加します。rd.break enforcing=0
enforcing=0
オプションを追加すると、時間がかかる SELinux の再ラベルプロセスを省略できます。initramfs
は、Linux kernel に制御が渡される前に停止するため、root
ファイルシステムで作業を行えます。initramfs
プロンプトは、Linux 行で指定された最後のコンソールに表示されます。Ctrl+x を押して変更したパラメーターでシステムを起動します。
暗号化されたファイルシステムでは、この時点ではパスワードが必要になります。ただし、パスワードプロンプトはロギングメッセージに隠れて表示されないことがあります。Backspace キーを押してプロンプトを表示させることができます。ログメッセージを無視して、キーを放し、暗号化されたファイルシステムのパスワードを入力します。
initramfs の
initramfs
switch_root
プロンプトが表示されます。ファイルシステムが
/sysroot/
で読み取り専用でマウントされます。ファイルシステムが書き込み可能になっていないと、パスワードの変更はできません。ファイルシステムを書き込み可能で再マウントします。
switch_root:/# mount -o remount,rw /sysroot
書き込みが有効な状態でファイルシステムが再マウントされます。
以下のようにファイルシステムの
root
を変更します。switch_root:/# chroot /sysroot
プロンプトが
sh-4.2#
に変わります。passwd
コマンドを入力し、コマンドラインに表示される指示にしたがってroot
パスワードを変更します。システムが書き込み可能でないと、passwd ツールは失敗し、以下のエラーメッセージが表示されます。
Authentication token manipulation error
パスワードファイルを更新すると、SELinux セキュリティーコンテキストが正しくないファイルが作成されます。次回のシステムのブート時にすべてのファイルを再ラベルするには、以下のコマンドを入力します。
sh-4.2# touch /.autorelabel
また、手順 3 で
enforcing=0
オプションを指定した場合は、大きいディスクを再ラベルするのにかかる時間を節約するために、この手順を省略できます。ファイルシステムを読み取り専用で再マウントします。
sh-4.2# mount -o remount,ro /
-
exit
コマンドを入力して、chroot
環境を終了します。 exit
コマンドを再び実行して初期化を再開し、システム起動を完了します。暗号化されているファイルシステムの場合は、この時点でパスワードまたはパスフレーズが必要です。ただし、パスワードプロンプトはロギングメッセージに隠れて表示されないことがあります。Backspace キーを押して保持すると、プロンプトが表示されます。ログメッセージを無視して、キーを放し、暗号化されたファイルシステムのパスワードを入力します。
注記SELinux の再ラベルプロセスには長時間がかかることがあることに注意してください。このプロセスが完了すると、システムが自動的に再起動されます。
手順 3 で
enforcing=0
オプションを追加し、手順 8 でtouch /.autorelabel
コマンドを省略した場合は、以下のコマンドを入力して/etc/shadow
ファイルの SELinux セキュリティーコンテキストを復元します。~]# restorecon /etc/shadow
以下のコマンドを実行して、SELinux ポリシーの強制を再び有効にし、ポリシーの強制が有効になっていることを確認します。
~]# setenforce 1 ~]# getenforce Enforcing