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
-
ログイン認証をスキップするのに使われる。
このオプションは、
getty(8)
の自動ログイン機能でよく使われる。
- -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
に関連する:
MOTD_FILE
(文字列)
-
ログイン時に表示される、
":" 区切りの「その日のメッセージ (message of the day)」を格納する
ファイルまたはディレクトリのリストを指定する。
指定されたパスがディレクトリの場合、そのディレクトリ内の
ファイル拡張子が .motd のファイルが、バージョンの若い順にすべて表示される。
デフォルトの値は
/usr/share/misc/motd:/run/motd:/etc/motd
である。
MOTD_FILE
アイテムが空、または静かなログインが有効にされている場合、
その日のメッセージは表示されない。
同様な機能は
pam_motd(8)
PAM モジュールで提供される点に注意すること。
MOTD_FILE
でのディレクトリのサポートは、バージョン 2.36 以降である。
login
は pam_motd
(MOTD_FIRSTONLY
を参照) のようなファイル名の上書きを実装してしないが、
ファイルのすべての内容を表示する点に注意すること。
システムツールにハードコードされた上書きの挙動に頼るより、
(メッセージの) 内容の生成器に追加のロジックを保持したり、
/run/motd.d
を使うことを推奨する。
MOTD_FIRSTONLY
(ブール値)
-
リスト内に最初にアクセス可能なアイテムがあった場合、
MOTD_FILE
で指定された内容の表示を
login
に止めさせる。
ディレクトリは、このアイテムの 1 つである点に注意すること。
このオプションにより、
login
の挙動を、より pam_motd と互換性が高く設定できる。
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
バグ
ドキュメント化されていない BSD
-r
オプションはサポートされていない。
このオプションは、いくつかの
rlogind(8)
プログラムで必要とされている場合がある。
古き良き時代に可能であった再帰ログインは、もはや動作しない。
大部分の目的には、
su(1)
が代替として要件を満たすことができる。
実際、セキュリティ上の理由で、
login
は
vhangup(2)
システムコールを使って、
tty 上でリッスンしているプロセスを削除する。
これはパスワードの盗み見 (sniffing) を防止する。
あるユーザがコマンド
login
を使った場合、そのユーザは、もはや tty の本当の所有者ではなくなるので、
それを行っているシェルは
vhangup(2)
で kill される。
これは、トップレベルシェル、または xterm で
exec login
を使うことで回避できる。
著者
Michael Glad
が HP-UX のために、BSD login 5.40 (5/9/89) から派生させた。
Peter Orbaek
が Linux 0.12 に移植した。
Karel Zak
が PAM のみのバージョンに書き直した。
関連項目
mail(1),
passwd(1),
passwd(5),
utmp(5),
environ(7),
getty(8),
init(8),
lastlog(8)
shutdown(8)
入手方法
login コマンドは util-linux パッケージの一部であり、
Linux Kernel Archive
から入手できる。
Index
- 名前
-
- 書式
-
- 説明
-
- オプション
-
- 設定ファイルのアイテム
-
- ファイル
-
- バグ
-
- 著者
-
- 関連項目
-
- 入手方法
-
This document was created by
man2html,
using the manual pages.
Time: 11:14:17 GMT, January 21, 2021