もしあなたのマシンが、他の人が触ることのできる環境に置かれているなら、あなたの意図しないブートのしかたをされないようにする必要があります。
BIOS をパスワードで保護する、FD や CD-ROM からの起動を BIOS で禁止する、lilo に任意のパラメータを与えられないようパスワードで保護する、などについては JF の Security-HOWTO にありますので、ここでは割愛します。
lilo に任意のパラメータを与えられないようパスワードで保護する、などについては JF の Security-HOWTO にありますので、ここでは割愛します。
まず、パスワードを md5 暗号化した文字列を取得します。
$ grub-md5-crypt Password: ********** Encrypted: $1$U$JK7xFegdxWH6VuppCUSIb.
つぎに、そうやって得られた文字列を、grub.conf の中で指定します。
password --md5 $1$U$JK7xFegdxWH6VuppCUSIb.
こうしておくと、起動時の grub のメニュー画面で 'p' を押してパスワードを入力しないかぎり、パラメータを変更することができなくなります。
yabootでの設定は、
/etc/yaboot.conf
に
password=hoge
と設定すると、boot 時に設定したパスワードを入力して起動する様になります。 ここで、hoge はパスワードそのまま、もしくは md5 ハッシュの値です。 md5 ハッシュを求める方法はいろいろありますが、たとえば
$ htpasswd -n -m dummy New password: [パスワード入力] Re-type new password: [パスワード再入力] dummy:$apr1$5Ph8v...$qobZITRW/NXRPlXcLEfM61
とすれば、'dummy:' よりあとの部分が md5 ハッシュの値になります。
この設定を行なった場合には、yaboot.conf
のパーミッションに注意して下さい。
なお、端末が macos や macosx とのデュアルブートの場合、macos/macosx を起動する為にパスワードは必要になりません。
また、lilo と同様に、
restricted
を指定すると、カーネルパラメータを指定する際のみパスワードが要求されます。
alpha の milo などその他のブートローダについてご存知の方はお知らせください。
何らかの理由でシングルユーザモードに入ったとしても、いきなり root 権限のシェルが走らないようにパスワード保護しましょう。/etc/inittab の ランレベル 0 の定義を以下のようにします。
0:S:respawn:/sbin/sulogin