Last Update:11 Jun. 2004
■[Ctrl]+[Alt]+[Del]キーを使ったシャットダウンの無効化

1.はじめに

■はじめに

Linux の shutdownコマンド は root 権限を持ったユーザしか使うことが出来ないコマンドです。したがって、通常は、一般ユーザが shutdownコマンド を発行してもこのコマンドを実行する権限が無いので、システムの電源を落とすことは出来ません。しかし、[Ctrl] + [Alt] + [Del] のキーを同時に押すと、一般ユーザであってもシステムの電源を落とすことが出来てしまいます。

一人のユーザがデスクトップマシンとして使用している場合には、このように全てのユーザが電源を落とすことが出来ても問題になることはないかもしれませんが、メールサーバやファイルサーバなど多数の人が利用するシステムの場合、全てのユーザが電源を落とすことが出来るというのはサーバを管理する上で好ましくありません。

このような問題を解決するために、ここでは、root 権限を持ったユーザが、shutdownコマンドを発行した時だけに電源を落とすことが出来るようにする方法と、特定のユーザだけが、[Ctrl] + [Alt] + [Del] キーを使ったシャットダウンを可能にする方法を紹介していきます。

なお、この設定はランレベル3の場合にのみ有効な設定となりますので、それ以外のランレベルで使用している場合には [Ctrl] + [Alt] + [Del] キーを使ったシャットダウンを無効化できない場合があります。



2.シャットダウンの無効化

■シャットダウンの無効化

Linux では、デフォルトの状態で /etc/inittabファイル で [Ctrl] + [Alt] + [Del] キーを押した時に、シャットダウンを行なうように設定されています。したがって、/etc/inittabファイル で設定されている以下の行を # でコメントアウトしてシステムの再起動を行ない、[Ctrl] + [Alt] + [Del] キーを押した時のシャットダウンを無効にすることが出来ます。
# Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
なお、/etc/inittabファイル を変更した場合には、root 権限を持ったユーザが、以下のように initコマンド で/etc/inittab ファイルのリロードを行なうと、システムの再起動を行なわずに、設定を反映することが可能になります。
# init q



3.ユーザを限定する

■ユーザを限定する

上記の説明では、[Ctrl] + [Alt] + [Del] キーを押した時の動作を無効にしたため、root権限を持つユーザでもこの操作でシャットダウンを行なうことが出来なくなりました。しかし、通常は、一部のユーザにだけこの操作を許可しておく方が便利な場合が多くあります。次に、[Ctrl] + [Alt] + [Del] キーを押された時に、root権限を持つユーザと特定のユーザにだけシャットダウンを許可する設定を紹介します。

まず、前回の説明で紹介した行に、-a のオプションをつけて、/etc/inittabファイルをリロードします。-a のオプションをつけると、shutdownコマンドは、/etc/shutdown.allowファイルを探すように指示し、このファイルに登録されているユーザが [Ctrl] + [Alt] + [Del] キーを押した時にだけ、シャットダウンを行なうようになります。
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -a -t3 -r now
次に、/etc/shutdown.allowファイルを作成します。このファイルには、[Ctrl] + [Alt] + [Del] キーを押した時に、シャットダウンを許可したいユーザを1行に1人ずつ登録します。
user01
user02
user03
このファイルに登録されている user01, user02, user03 と root ユーザは、[Ctrl] + [Alt] + [Del] キーを使用してシャットダウンを行なうことが可能になります。これは、[Ctrl] + [Alt] + [Del] キーを押した時に、/etc/shutdown.allow内に登録されているユーザか root ユーザがログインしているかどうかが確認され、ログインしている場合には、シャットダウン処理が実行されるという処理の流れになるためです。したがって、/etc/shutdown.allow に登録されているユーザか root ユーザがログインしている場合には、その他のユーザも[Ctrl] + [Alt] + [Del] キーを使ったシャットダウンを行なうことが可能になります。

なお、/etc/shutdown.allow に登録されているユーザか root ユーザがログインしていない場合に [Ctrl] + [Alt] + [Del] キーを押した場合には、システムコンソールに以下のエラーメッセージが表示され、シャットダウン処理は行なわれません。
shutdown: no authorized users logged in.



BACKUP