最新のハードウェアやソフトウェアにかんするニュースもいいけれど、「事件は枯れたシステムが稼働する現場で起こってるんだ」と現場ですぐに役立つ知識を欲するあなたに贈る珠玉のTips集。今回は、複数のマシンで効率的にシャットダウンする方法だ。
現在、Solaris 8のマシンを複数台使用しています。全館停電時には、root権限を持つユーザーが各サーバーにログインしてシャットダウンしていますが、サーバーの台数が多いため、作業に時間がかかっている状況です。root権限がない人でもシャットダウンできるような方法を教えてください。
root権限のないユーザーがOSをシャットダウンする方法としては、次のようなものがあります。
1.シャットダウン用ユーザーの作成
この方法では、シャットダウン用ユーザーのパスワードが分かれば、そのシステムを利用する一般ユーザーでもシャットダウン可能です。
2.RBAC*機能の利用
この方法では、特定の一般ユーザーにシャットダウン権限を与えるので、権限を与えられたユーザーのみシャットダウンが行えます。
各設定方法は以下のとおりです。
ここでは、ユーザーshut(パスワードshut)を専用のアカウントとして作成します。/etc/passwdファイルに、
shut::0:1:Shutdown User:/:/usr/local/sbin/shut.sh
という内容を、/etc/shadowファイルに、
shut::::::::
という内容を追加します。アカウントを作成したら、ユーザーshutのパスワードを設定してください。
# passwd shut
New Password: ←パスワードを入力
Re-enter new Password: ←再度パスワードを入力
続いて、/usr/local/sbinディレクトリを作成し、そこへログインスクリプトshut.shを用意します。shut.shの内容は、shutdownコマンドを実行するシェルスクリプトです。
#!/bin/sh
/usr/sbin/shutdown -y -g0 -i5
後は、shut.shの権限を、
# chmod 500 /usr/local/sbin/shut.sh
# chown root /usr/local/sbin/shut.sh
# chgrp sys /usr/local/sbin/shut.sh
のように変更し、ユーザーshutでログインして動作確認を行います(実行例1)。
$ su shut
Password: ←ユーザーshutのパスワードを入力
Shutdown started. Thu Nov 18 19:51:12 JST 2004
Changing to init state 5 - please wait
Broadcast Message from root (pts/18) on WeatherReport
Thu Nov 18 19:51:12...
THE SYSTEM WeatherReport IS BEING SHUT DOWN NOW ! ! !
Log off now or risk your files being damaged
Role Based Access Controlの略。役割に応じてアクセス制御を行う機能。
Copyright © ITmedia, Inc. All Rights Reserved.