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