LOGIN(1)

名前
login - システム上でセッションを開く

書式
login [-p] [username] [ENV=VAR ...]
login [-p] [-h host] [-f username]
login [-p] -r host

説明
login はシステムに新たにセッションを開くために用いられる。 通常は、ユーザの端末に表示される login: というプロンプトに応じる事によって自動的に起動される。 login はシェル専用のものであり、 サブプロセスとして起動することはできない。 通常シェルは login を exec login とみなすので、ユーザは現在のシェルから抜けることになる。 ログインシェル以外から login を起動しようとすると、 エラーメッセージが表示される。

login:プロンプトから起動した際は、 ユーザ名に続いて環境変数を入力する事もできる。 それらを入力する場合は NAME=VALUE という書式で行う。 この方法で全ての変数を設定できるわけではない。 例えば PATH, HOME, SHELL などは設定できない。 さらにログインシェルが /bin/sh の場合は IFS も設定もできない。

次いで、必要な場合には、ユーザはパスワードを入力するよう促される。 パスワードを表示してしまわないよう、エコーは行われない。 数回以上パスワード入力に失敗すると login は終了し、通信の接続は切断されてしまう。

アカウントに対してパスワードの有効期限が設定されている場合は、 先に進む前に新しいパスワードの設定を促されることもある。 セッションを続けるためには古いパスワードと 新しいパスワードを入力しなくてはならない。 詳しい情報は passwd(1) を参照すること。

ログインに成功すると、システムメッセージやメールの有無が表示される。 ログインディレクトリに長さ 0 のファイル .hushlogin を作っておけば、 システムメッセージファイルである /etc/motd の表示を無効にできる。 メールに関するメッセージは、メールボックスの状態によって "You have new mail.", "You have mail.", "No Mail." のいずれかになる。

ユーザ ID とグループの ID は /etc/passwd ファイル中に記載されている値に従って設定される。 $HOME, $SHELL, $PATH, $LOGNAME, $MAIL の値は、パスワードエントリのそれぞれのフィールドに従って設定される。 ulimit, umask, nice 値が、 GECOS フィールドのエントリーによって設定されることもある。

インストール時の設定によっては、 /etc/ttytype の指定に従って、 環境変数$TERMが tty 接続の端末の型 (terminal type) に初期化されることもある。

コマンドインタプリタの初期化スクリプトが実行されることもある。 この機能についての詳しい情報は適当なマニュアルセクションを参照のこと。

サブシステムログインでは、 ログインシェルの最初の文字に "*" を置く。 渡されたホームディレクトリは、 ユーザが実際にログインする新しいファイルシステムのルートとして扱われる。

オプション

-p  環境を保存する。

-f  ユーザはすでに認証されているものとして、認証動作を行なわない。

-h  このログインのリモートホストの名前。

-r  rlogin の自動ログインプロトコルを実行する。

-r, -h, -f オプションは、 root が login を起動した場合にのみ用いる。

警告
この版の login には多くのコンパイル時オプションがあるが、 サイトによってはこのうちの一部しか使われていないかもしれない。

システム設定の違いによって上記ファイルの置き場所は変わる。

ファイル
/var/log/utmp - 現在のログインセッションのリスト
/var/run/wtmp - 過去のログインセッションのリスト
/etc/passwd - ユーザアカウント情報
/etc/shadow - 暗号化パスワードと有効期限情報
/etc/motd - システムメッセージファイル
/etc/nologin - root 以外のユーザのログインを禁止する
/etc/ttytype - 端末の型のリスト
$HOME/.hushlogin - システムメッセージの表示を抑制する

関連項目
mail(1), passwd(1), sh(1), su(1), login.defs(5), nologin(5), passwd(5), getty(8)

著者
Julianne Frances Haugh <jockgrrl@ix.netcom.com>