電源制御キーの役割と無効化UNIX処方箋

「事件は枯れたシステムが稼働する現場で起こってるんだ」と現場ですぐに役立つ知識を欲するあなたに贈る珠玉のTips集。今回は、サンのマシンに付属するキーボードの右上に配置されている電源制御キーについて解説する。

» 2008年02月25日 00時00分 公開
[ITmedia]

サン・マイクロシステムズのマシンに付属するキーボードの右上に電源ボタンがありますが、これを押せば誰でもシステムをシャットダウンできるのでしょうか?  本体の電源ボタンとキーボードの電源ボタンでは、何が違うのかを教えてください。また、作業中などに間違ってキーボードの電源ボタンを押した場合に、システムが停止してしまわないか心配です。キーボードの電源ボタンを無効化したいと考えているのですが、何かよい方法はあるでしょうか。


キーボード右上に配置されている電源ボタンは、電源制御キーといいます。まずは、このキーの機能から説明しましょう。

電源制御キーの機能

 電源制御キーを押すと、sys-suspendコマンド(実体となるファイルは、/usr/openwin/bin/sys-suspend)が実行されます。これは、システムを停止もしくは保存停止させるコマンドです。実際に電源制御キーを押す、あるいはsys-suspendコマンドを実行すると、停止/保存停止の実行を選択するメッセージが表示され(図1)、保存停止の実行を選択すると、1分程度でシステムが自動的にシャットダウンします。

図1 図1 電源制御キーを押した場合に表示されるメッセージ

 その後、再度電源を投入すると、OS起動後にスクリーンロックされた画面が表示されます。この画面で保存停止実行時に使用していたユーザーのログインパスワードを入力すると、スクリーンロックが解除され、シャットダウンする前の状態に復帰します(図2)。なお、停止/保存停止の選択画面を表示せずに直接停止させたい場合は、Shift+電源制御キーを押してください。

図2 図2 電源制御キーを押したときの流れ

 この機能は、システム管理者の不在時にシャットダウンを行う場合や、システムを移動するときなどに使用すると便利です。

電源制御キーの無効化

 電源制御キーを無効にする場合は、/usr/openwin/lib/speckeysd.mapファイルを修正します。ファイルの一番下の部分に記述されている「SunPowerSwitch」と「SunPowerSwitchShift」の2行をコメントアウトしてファイルを保存し、システムを再起動すれば、キーボードからの停止を無効化できるはずです。

 また、電源制御キーを完全に無効化せずに、一部のユーザーにのみ使用を許可することも可能です。これを実現するには、/etc/default/sys-suspendファイルの、

PERMS=console-owner


という行を修正して、sys-suspendコマンドの実行可能ユーザーを変更します。初期状態では、「console-owner」に実行許可が与えられており、コンソールログイン※したユーザーであればroot以外の一般ユーザーでも実行できてしまうので、表1のような値を指定して実行可能ユーザーを限定します。

 例えば、rootユーザーと一般ユーザーuser1、user2のみ実行可能とするには、次のように指定すればよいでしょう。

PERMS=user1,user2


 変更後、/etc/default/sys-suspendファイルを保存するだけで設定内容が反映されます。以降、rootユーザーと指定した一般ユーザー以外が電源制御キーを押しても、エラーメッセージ(図3)が表示されてsys-suspendコマンドが実行できなくなります。

図3 図3 sys-suspendコマンドが実行できないエラー

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ