FreeBSD QandA 446
Q. FreeBSD だと、Ctrl + Alt + Del したら誰でも shutdown 出来ちゃうんで
すが、これを止めることはできませんか?
A. いくつか方法があります.
A.1 (FreeBSD のバージョンに非依存)
使っている keymap を書き換えてしまいます。例えば、106 キーボードを使用
してるならば、(/usr/share/syscons/keymaps/ の下にある) jp.106.kbd の
'boot' とある部分を 'nop' などに書換えます。
(この例では 'del' としています。)
(修正前) 083 del '.' del del del del boot del N
~~~~
(修正後) 083 del '.' del del del del del del N
~~~
他の keymap でも同様に、'boot' となっている部分を 'nop' とすれば OK で
す。
(注意 1)この方法はそのマシンにアカウントがあって kbdcontrol を実行でき
る人には無力です。
(注意 2)書き換えに失敗すると、キーボードの刻印と、実際に入力される文字
の対応が取れなくなります。バックアップを取ってから書き換えをし
ましょう。
A.2 (FreeBSD 2.2.5-RELEASE 以前)
/sys/i386/isa/syscons.c にある関数 scgetc() を書き換えて対処します。
--- /sys/i386/isa/syscons.c ----------------------------------
case RBT:
shutdown_nice();
break;
--------------------------------------------------------------
この部分 (FreeBSD-2.2.1R だと 2986 行目付近、
FreeBSD-2.2.5R だと 3247 行目付近) を次のように書き換えます。
--- /sys/i386/isa/syscons.c ----------------------------------
case RBT:
#ifndef NO_RBT
shutdown_nice();
#endif
break;
--------------------------------------------------------------
これでカーネルの設定ファイル (/sys/i386/conf/*) に
options NO_RBT
をつけて再構築した kernel では、syscons から Ctrl + Alt + Del での
リブートができなくなります。
A.3 (FreeBSD-2.2.6-RELEASE 以降)
カーネルに,
options SC_DISABLE_REBOOT
を加えて, 再構築して下さい.
Ctrl + Alt + Del でのリブートができなくなります.
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。