Halt user の料理方法
ちゃんと root でログインして shutdown する良い子は別として、面倒なので shutdown するユーザー halt 君を用意しましょう。
最終更新日 : 1998 年 11 月 18 日
材料
Solaris [ developper ]がインストールされたコンピュータ。 今回は Solaris2.6 / Ultra1 を素材にしました。
halt 君をユーザー登録
適当にユーザーを登録しますが、 shell の代わりに shell script を指定するので useradd コマンドでは怒られてしまい作成できません。 admintool を使ってユーザーを登録してください。ユーザーの条件は以下のようになります。
ユーザー名
halt
halt ユーザーの名称です。
ユーザー ID
5001
後で変更するので重複しない適当な値
一次グループ
0
root さんと同じ
ログインシェル
その他 - /etc/halt.sh
シェルスクリプトを指定
パスワード
最初のログインまでは未設定
指定してもいいです
ホームディレクトリ
作成しない
作っちゃまずいです
パス
/
root さんと一緒
init (1m) は、 root さんしか起動できません。 halt 君は一般ユーザーとなっていますので、起動する事ができません。困った。 useradd や admintool では同じユーザー ID のユーザーを登録する事ができません。 で、 /etc/passwd を強制的にいじってユーザー ID 0 にしちゃいましょう。
# chmod 644 /etc/passwd # vi /etc/passwd halt:x:5001:0:Halt account:/:/etc/halt.sh ↓ halt:x:0:0:Halt account:/:/etc/halt.sh # chmod 444 /etc/passwd
# chmod 644 /etc/passwd # vi /etc/passwd
halt:x:5001:0:Halt account:/:/etc/halt.sh ↓ halt:x:0:0:Halt account:/:/etc/halt.sh
# chmod 444 /etc/passwd
/etc/halt.sh の作成
落とすためのスクリプトを書いておきます。まぁ、いろいろな事が考えられますが、単純な例で。
# cat /etc/halt.sh #!/bin/sh echo "execute /sbin/init 0" /usr/sbin/sync /usr/sbin/sync /sbin/init 0
init 5 にすると電源まで落ちたりします。または ...
# cat /etc/halt.sh #!/bin/sh /usr/sbin/sync /usr/sbin/sync /usr/sbin/shutdown -i 0 -g 60 "--- shutdown ---"
なんてスクリプトを作ったら ...
# chmod 700 /etc/halt.sh # chown halt /etc/halt.sh # chgrp other /etc/halt.sh
試食
さて一度ログアウトして halt 君でログインしてみましょう。
login: halt Password : さ〜よ〜な〜ら〜
[ Solaris 料理コーナー ] [ トップページ ]
BEKKOAME//INTERNET で公開していたページです。作成: 1998 年 10 月 08 日〜 Copyright (C) 1998 Katsauki Shimizu <katsuaki-s @_nifty.com> All rights reserved.