26.6. パスワードを使用した GRUB 2 の保護
GRUB 2 では、以下の 2 種類のパスワード保護が選択できます。
- メニューエントリーの修正にはパスワードが必要ですが、既存のメニューエントリーの起動には 必要ありません。
- メニューエントリーの修正にはパスワードが必要で、かつメニューエントリーのいずれかまたは複数、もしくはすべての起動にもパスワードが必要。
エントリー修正のみにパスワードを必要とする GRUB 2 の設定
GRUB 2 エントリーの修正にパスワード認証を必要とするには、以下の手順に従います。
root で
grub2-setpasswordコマンドを実行します。~]# grub2-setpasswordパスワードを入力し、確認します。
Enter password: Confirm password:
この手順により、パスワードのハッシュを含む /boot/grub2/user.cfg ファイルが作成されます。このパスワードのユーザーである root は、/boot/grub2/grub.cfg ファイルで定義されます。この変更により、ブート中にブートエントリーを修正する場合は、root ユーザー名とパスワードの確認が必要になります。
エントリーの修正と起動にパスワードを必要とする GRUB 2 の設定
grub2-setpassword を使用してパスワードを設定すると、権限のない修正からメニューエントリーは保護されますが、権限のない起動からは保護されません。エントリーの起動にもパスワードを必要とするには、grub2-setpassword でパスワードを設定した後に、以下の手順を実行します。
GRUB 2 パスワードを忘れると、以下の手順で再設定したエントリーは起動できなくなります。
-
/boot/grub2/grub.cfgファイルを開きます。 -
menuentryで始まる行を検索し、パスワード保護するブートエントリーを見つけます。 メニューエントリーブロックから
--unrestrictedパラメーターを削除します。次に例を示します。[file contents truncated] menuentry 'Red Hat Enterprise Linux Server (3.10.0-327.18.2.rt56.223.el7_2.x86_64) 7.2 (Maipo)' --class red --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-c109825c-de2f-4340-a0ef-4f47d19fe4bf' { load_video set gfxpayload=keep [file contents truncated]- ファイルを保存してから閉じます。
これでエントリーの起動にも root ユーザー名とパスワードの入力が必要になります。
/boot/grub2/grub.cfg への手動での変更は、新規カーネルのバージョンがインストールされても維持されますが、grub2-mkconfig コマンドを使用して grub.cfg を再生成すると失われます。このため、パスワード保護を維持するには、grub2-mkconfig を使用した後、毎回上記の手順を実行する必要があります。
/boot/grub2/grub.cfg ファイルのすべてのメニューエントリーから --unrestricted パラメーターを削除すると、新しくインストールされたすべてのカーネルで作成されるメニューエントリーで --unrestricted がなくなり、自動的にパスワード保護を継承することになります。
Red Hat Enterprise Linux 7.2 への更新前でのパスワード設定
grub2-setpassword ツールは Red Hat Enterprise Linux 7.2 で追加され、GRUB 2 パスワード設定の標準メソッドになっています。Red Hat Enterprise Linux の以前のバージョンでは、/etc/grub.d/40_custom ファイルでブートエントリーを手動で指定し、/etc/grub.d/01_users ファイルでスーパーユーザーを指定する必要がありました。
GRUB 2 へのユーザーの追加
--unrestricted パラメーターなしでエントリーを起動するには、root パスワードが必要です。ただし、GRUB 2 では、パスワードを提供せずにこのエントリーを起動できる root 以外のユーザーも作成できるようになります。エントリーの変更にも root パスワードが必要です。このようなユーザーの作成については、 GRUB 2 マニュアルを 参照してください。