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)