「事件は枯れたシステムが稼働する現場で起こってるんだ」と現場ですぐに役立つ知識を欲するあなたに贈る珠玉のTips集。今回は、サンのマシンに付属するキーボードの右上に配置されている電源制御キーについて解説する。
サン・マイクロシステムズのマシンに付属するキーボードの右上に電源ボタンがありますが、これを押せば誰でもシステムをシャットダウンできるのでしょうか? 本体の電源ボタンとキーボードの電源ボタンでは、何が違うのかを教えてください。また、作業中などに間違ってキーボードの電源ボタンを押した場合に、システムが停止してしまわないか心配です。キーボードの電源ボタンを無効化したいと考えているのですが、何かよい方法はあるでしょうか。
キーボード右上に配置されている電源ボタンは、電源制御キーといいます。まずは、このキーの機能から説明しましょう。
電源制御キーを押すと、sys-suspendコマンド(実体となるファイルは、/usr/openwin/bin/sys-suspend)が実行されます。これは、システムを停止もしくは保存停止させるコマンドです。実際に電源制御キーを押す、あるいはsys-suspendコマンドを実行すると、停止/保存停止の実行を選択するメッセージが表示され(図1)、保存停止の実行を選択すると、1分程度でシステムが自動的にシャットダウンします。
その後、再度電源を投入すると、OS起動後にスクリーンロックされた画面が表示されます。この画面で保存停止実行時に使用していたユーザーのログインパスワードを入力すると、スクリーンロックが解除され、シャットダウンする前の状態に復帰します(図2)。なお、停止/保存停止の選択画面を表示せずに直接停止させたい場合は、Shift+電源制御キーを押してください。
この機能は、システム管理者の不在時にシャットダウンを行う場合や、システムを移動するときなどに使用すると便利です。
電源制御キーを無効にする場合は、/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コマンドが実行できなくなります。
Copyright © ITmedia, Inc. All Rights Reserved.