LOGIN

Section: User Commands (1)
Updated: June 2012
Index Return to Main Contents
 

名前

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

書式

login [ -p ] [ -h host ] [ -H ] [ -f username | username ]  

説明

login はシステムにサインインするために使われる。 引き数が指定されない場合、 login はユーザ名を入力するプロンプトを出す。

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

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

ユーザ ID とグループの ID は /etc/passwd ファイル中に記載されている値に従って設定される。 ユーザ ID が 0 の場合、1 つの例外がある。 この場合、アカウントのプライマリグループ ID のみが設定される。 これにより、ネットワーク問題の場合にもシステム管理者がログインすることが 可能になる。 $HOME, $USER, $SHELL, $PATH, $LOGNAME, $MAIL の値は、パスワードエントリのそれぞれのフィールドに従って設定される。 $PATH のデフォルトは、通常ユーザでは /usr:/local:/bin::/bin::/usr:/bin であり、root では /usr:/local:/sbin::/usr:/local:/bin::/sbin::/bin::/usr:/sbin::/usr:/bin であり、そうでない場合は設定がされている。

環境変数 $TERM が存在する場合は、保持される (他の環境変数は、 -p オプションが指定された場合に保持される)。 存在しない場合は、tty の端末の型 (terminal type) に初期化される。

そして、ユーザのシェルが開始される。 そのユーザのシェルが /etc:/passwd で指定されていない場合、 /bin:/sh が使われる。 ディレクトリが /etc:/passwd で指定されていない場合、 / が使われる (ホームディレクトリは、下記で説明されている .hushlogin ファイルでチェックされる)。

ファイル .hushlogin が存在する場合、「静に」ログインが行われる (メールのチェック、最後のログイン時刻の表示、その日のメッセージの表示が 無効化される)。 ファイルが存在しない場合で、 /var:/log:/lastlog が存在する場合、最後のログイン時刻が表示される (そして、現在のログインが記録される)。  

オプション

-p
getty(8) によって使われ、 login が環境変数を破棄しないようにする。
-f
第 2 のログイン認証をスキップするのに使われる。 これは、特に root では 動作せず、 Linux ではうまく動作するか分からない。
-h
他のサーバ (つまり、 telnetd(8) など) によって使用され、リモートホストの名前を login に渡すために使われて、utmp と wtmp に格納される。 スーパーユーザのみがこのオプションを使用できる。
-h オプションは PAM サービス名 に影響がある点に注意すること。 標準のサービス名 login であり、 -h オプションを指定すると、 remote になる。 正式な PAM 設定ファイル (例えば、 /etc:/pam.d:/login/etc:/pam.d:/remote) を作成することが必要である。
-H
他のサーバ (つまり、 telnetd(8) など) によって使用され、 login は login: プロンプトでのホスト名の表示を抑制する。 サーバが login コマンドラインの設定を許可していない場合、下記の LOGIN_PLAIN_PROMPT も参照すること。
--help
ヘルプを表示して、終了する。
-V, --version
バージョン情報を表示して、終了する。
 

設定ファイルのアイテム

login は設定ファイル /etc:/login.defs(5) を読み込む。 この設定ファイルは他のパッケージ (例えば、shadow-utils) で配布される 可能性がある点に注意すること。 以下の設定アイテムが login(1) に関連する:

MOTD_FILE (文字列)

このアイテムが定義されている場合、 ":" 区切りの「その日のメッセージ (message of the day)」ファイルのリストが、 ログイン時に表示される。 デフォルトの値は /etc:/motd である。 MOTD_FILE アイテムが空、または静かなログインが有効にされている場合、 その日のメッセージは表示されない。 同様な機能は pam_motd(8) PAM モジュールで提供される点に注意すること。

LOGIN_PLAIN_PROMPT (ブール値)

login に login: プロンプトでのホスト名の表示を抑制させる。 これは -H コマンドラインオプションの代替である。 デフォルトの値は、 no である。

LOGIN_TIMEOUT (数値)

login を待つ最大時間 (秒)。 デフォルトの値は、 60 である。

LOGIN_RETRIES (数値)

パスワードを間違えた場合に、ログインがリトライする最大回数。 デフォルトの値は、 3 である。

FAIL_DELAY (数値)

ログインが 3 回失敗した場合に、再度ログインを許可するまでの遅延時間 (秒)。 デフォルトの値は、 5 である。

TTYPERM (文字列)

端末の権限。 デフォルトの値は、 0600 である。 tty グループが使われている場合、デフォルトの値は、 0620 である。

TTYGROUP (文字列)

ログイン tty は、 TTYGROUP に所有される。 デフォルト値は tty である。 TTYGROUP が存在しない場合、端末の所有権はユーザのプライマリグループに 設定される。

TTYGROUP はグループ名、または数値のグループ識別子である。

HUSHLOGIN_FILE (文字列)

このファイルが定義された場合、通常のログインシーケンスでのいろいろな 表示が抑制される。 フルパス名 (例えば、 /etc:/hushlogins) が指定された場合、このファイルがユーザの名前やシェルがあると、 ハッシュモードが有効化される。 このグローバルのハッシュログインファイルが空の場合、全てのユーザで ハッシュモードが有効化される。

フルパス名が指定されない場合、かつファイルがユーザのホーム ディレクトリにある場合、ハッシュモードが有効化される。

デフォルトでは、 /etc:/hushlogins をチェックし、存在しない場合は、 ~/.hushlogin をチェックする。

HUSHLOGIN_FILE アイテムが空の場合、全てのチェックが無効化される。

DEFAULT_HOME (ブール値)

ホームディレクトリに移動できない場合に、ログインを許可するかを 指定する。 yes に設定すると、ユーザがホームディレクトリに移動できない場合、 ルート (/) ディレクトリでログインする。 デフォルトの値は、 yes である。

LASTLOG_UID_MAX (符号なし数値)

lastlog エントリを更新するユーザの、最大のユーザ ID 番号。 大きいユーザ ID をリモートユーザの識別と認証サービスで常に追跡すると、 大きく疎らな lastlog ファイルを作成することになる。 設定に LASTLOG_UID_MAX オプションが存在しない場合、 lastlog エントリを書き込むユーザ ID の制限はなくなる。

LOG_UNKFAIL_ENAB (ブール値)

ログインの失敗が記録される場合、不明なユーザ名の表示を有効化する。 デフォルト値は、 no である。

ユーザがログイン名ではなく、パスワードを入力してしまった場合、 不明やユーザ名をログに記録することで、セキュリティ問題になる 可能性がある点に注意すること。

ENV_PATH (文字列)

この値が設定されると、通常ユーザがログインする際の PATH 環境変数を定義するために使われる。 デフォルト値は、 /usr:/local:/bin::/bin::/usr:/bin である。

ENV_ROOTPATH (文字列)
ENV_SUPATH (文字列)

この値が設定されると、スーパーユーザがログインする際の PATH 環境変数を定義するために使われる。 ENV_ROOTPATH が優先される。 デフォルト値は、 /usr:/local:/sbin::/usr:/local:/bin::/sbin::/bin::/usr:/sbin::/usr:/bin である。
 

ファイル

/var/run/utmp
/var/log/wtmp
/var/log/lastlog
/var/spool/mail/*
/etc/motd
/etc/passwd
/etc/nologin
/etc/pam.d/login
/etc/pam.d/remote
/etc/hushlogins
.hushlogin
 

関連項目

mail(1), passwd(1), passwd(5), environ(7), getty(8), init(8), shutdown(8)  

バグ

ドキュメント化されていない BSD -r オプションはサポートされていない。 このオプションは、いくつかの rlogind(8) プログラムで必要とされている場合がある。

古き良き時代に可能であった再帰ログインは、もはや動作しない。 大部分の目的には、 su(1) が代替として要件を満たすことができる。 実際、セキュリティ上の理由で、login は vhangup() システムコールを使って、 tty 上でリッスンしているプロセスを削除する。 これはパスワードの盗み見 (sniffing) を防止する。 あるユーザがコマンド login を使った場合、そのユーザは、もはや tty の本当の所有者ではなくなるので、 それを行っているシェルは vhangup() で kill される。 これは、トップレベルシェル、または xterm で exec login を使うことで回避できる。  

著者

Michael Glad が HP-UX のために、BSD login 5.40 (5/9/89) から派生させた。
Peter Orbaek が Linux 0.12 に移植した。
Karel Zak が PAM のみのバージョンに書き直した。  

入手方法

login コマンドは util-linux パッケージの一部であり、 Linux Kernel Archive から入手できる。


 

Index

名前
書式
説明
オプション
設定ファイルのアイテム
ファイル
関連項目
バグ
著者
入手方法

This document was created by man2html, using the manual pages.
Time: 14:01:58 GMT, April 10, 2020