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 マニュアルを 参照してください。