私はubuntu 14.04
を使用しており、Grubバージョンは2.02~beta2-9ubuntu1
です。私はこれを長い間試してきました。私はこれを見ました 質問 しかし、それをそのように動作させることができませんでした。とにかく私は解決策を持っていますが、それが正しいかどうか、またはセキュリティリスクがあるかどうかはわかりません。提案してください。
私はGRUBを次のように設定したかった:-
buntu Docs およびその他の多くのブログをフォローしましたが、すべてが2.02~beta2-9ubuntu1
より古いGRUB2バージョンに基づいているため、ドキュメントで提案されているようにgrubスクリプトを編集できません。ドキュメントに従ってメニュー項目を編集しようとしましたが、問題が発生するたびにAuthentication was needed to boot the OS too
でした。
question および buntu Docs の助けを借りて、必要なものを手に入れることができましたが、自分の構成が本当に安全であれば、自分が正しいかどうかを提案してください。主に、新しいカーネルがインストールされたときに、GRUB構成も編集する必要があるかどうかです。
1。ハッシュ化されたパスワードを作成する
grub-mkpasswd-pbkdf2
パスワードを入力すると、ハッシュを受け取ります。
2。 GRUB認証の作成
ファイル/etc/grub.d/40_customで、これらのエントリを最後に追加します。
set superusers="user1"
password_pbkdf2 user1 GIVE-GRUB-PASSWORD-HASH-HERE
export superusers
gIVE-GRUB-PASSWORD-HASH-HEREをgrub-mkpasswd-pbkdf2
の出力として受け取ったパスワードのハッシュに置き換えます。
3。ファイル/etc/grub.d/10_linuxのメニューエントリに認証を適用します
次の行に--users ''
を追加してください:-
echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} --users '' \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
そして
echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' --users '' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
次の行に--unrestricted
を追加してください:
echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} --unrestricted \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
4。 Grubの更新
Sudo update-grub
編集
5。システムの再起動
これを以前に追加するのを忘れました。その後、システムを再起動する必要があります。
Sudo reboot