Halt user の料理方法

ちゃんと root でログインして shutdown する良い子は別として、面倒なので shutdown するユーザー halt 君を用意しましょう。

最終更新日 : 1998 年 11 月 18 日


  1. 材料

    • Solaris [ developper ]がインストールされたコンピュータ。
      今回は Solaris2.6 / Ultra1 を素材にしました。

  2. 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

  3. /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

  4. 試食

    さて一度ログアウトして halt 君でログインしてみましょう。

    login: halt
    Password :

    さ〜よ〜な〜ら〜


[ Solaris 料理コーナー ] [ トップページ ]

BEKKOAME//INTERNET で公開していたページです。
作成: 1998 年 10 月 08 日〜 Copyright (C) 1998 Katsauki Shimizu <katsuaki-s @_nifty.com> All rights reserved.

access counter