SULOGIN(8)

名前
sulogin - シングルユーザログイン

書式
sulogin [ -e ] [ -p ] [ -t timeout ] [ tty-device ]

説明
sulogin は、システムがシングルユーザモードに入ったときに (inittab(5) のエントリを通して) init(8) から起動される。 init は LILO などのブートモニタから -b フラグを与えられたときにも sulogin を起動しようとする。

ユーザには以下のようなプロンプトが出される。

    Give root password for system maintenance
    (or type Control-D for normal startup):

sulogin は現在の端末か、またはコマンドラインから指定されたデバイス (たいてい /dev/console) に接続する。

-p オプションが与えられると、シングルユーザのシェルは、 argv[0] の最初の文字にダッシュ `-' を付けたかたちで起動される。 これによって、ほとんどのシェルはログインシェルとして動作する。 デフォルトではこれは行われないので、シェルは起動時に /etc/profile や $HOME/.profile を読み込まない。

ユーザがシングルユーザシェルを終了した後、 あるいはプロンプトに対して Control-d を押した (シェルを起動しなかった) 後には、 システムは (動作を継続して) デフォルトのランレベルにブートする。

環境変数
sulogin は環境変数 SUSHELL または sushell を探し、起動するシェルを決定しようとする。 これらの環境変数が設定されていないと、 /etc/passwd に書かれている root のシェルを 起動しようとする。 これにも失敗すると、 /bin/sh を起動する。

この機能は、init の -b オプションと一緒に用いると非常に便利である。 システムをシングルユーザモードで起動し、 ルートファイルシステムを read/write でマウントし、 静的にリンクされた特殊な「フェイルセーフ」シェルを使うには、 次のようにする (この例は LILO のブートプロンプトに与えることができる)。

    boot: linux -b rw sushell=/sbin/sash

探索方法
sulogin は、まず通常の方法を用いて root のパスワードをチェックする。 -e オプションが指定されると、 sulogin は以下のファイルを調べて root のパスワードを見つけようとする。 これらが壊れていたり、存在しない場合は、 最後の手段として、 root のパスワードを訊ねないままシェルのプロンプトを表示してしまう。

    /etc/passwd,
    /etc/shadow (存在する場合)

著者
Miquel van Smoorenburg <miquels@cistron.nl>

関連項目
init(8), inittab(5)