LOGIN.DEFS(5)

名前
/etc/login.defs - shadow パスワード機能の設定

説明
/etc/login.defs ファイルは shadow ログイン機能に対するサイト固有の設定を定義する。 このファイルは必ず存在しなければならない。 このファイルが無くてもシステム運用は可能であるが、 おそらく望まない結果となるだろう。

このファイルは読み取り可能なテキストファイルで、 ファイル中の一行につき一つの設定パラメータを設定している。 各行では、設定パラメータの名前とその値が空白で区切られて示される。 空行とコメント行は無視される。 コメント行は `#' 記号で始まる。 記号`#'はその行での空白以外の最初の文字でなければならない。

パラメータ値は四つの型を取ることができる。 文字列・ブール型・数値・倍精度数値、である。 文字列には全ての印字可能文字を使える。 ブール型パラメータの値は ``yes'' か ``no'' のいずれかでなければならない。 値の指定されていないブール型パラメータや、 ``yes'', ``no'' 以外が指定されたブール型パラメータの値は ``no''とされる。 (単精度および倍精度) 数値は、 10 進数、 (数値の前に ``0'' を付けた) 8 進数、 (数値の前に ``0x'' を付けた) 16 進数のいずれかで指定する。 単精度・倍精度数値パラメータの最大値は計算機に依存する。

以下に示すような設定項目がある:

CHFN_AUTH (ブール値)
    もし yes なら、 chfn, chsh 両プログラムは、スーパーユーザが起動したのでない限り 何らかの変更を行なう前にパスワードを尋ねる。

CHFN_RESTRICT (文字列)
    このパラメータは passwd ファイルの gecos フィールドのうち、 一般ユーザが chfn を使って変更できるフィールドを指定する。 指定する文字列は f, r, w, h 各文字の任意の組み合わせで、それぞれフルネーム、部屋番号、 職場電話番号、自宅電話番号を意味する。 指定されなかった場合は、スーパーユーザだけが全ての項目を変更できる。 最も制限をきつくしたい場合は、 chfn を SUID ではインストールしなければよい。

GID_MAX (数値)

GID_MIN (数値)
    useradd プログラムおよび groupadd プログラムがグループ ID を選択する時の範囲。

MAIL_DIR (文字列)
    メールスプールディレクトリ。 あるユーザアカウントが修正・削除された際に、 そのユーザのメールボックスに対する作業のために必要となる。 指定されないと、コンパイル時のデフォルト値が用いられる。

PASS_MAX_DAYS (数値)
    一つのパスワードを使える最長日数。 パスワードがこの日数よりも古い場合は、変更するよう強制される。 指定されていない場合は -1 となる (この制限機能を無効にする)。

PASS_MIN_DAYS (数値)
    パスワードを変更してから次に変更できるようになるまでの最短日数。 この日数が経たないうちにパスワードを変更しようとしても拒否される。 指定されていない場合は -1 となる (この制限機能を無効にする)。

PASS_WARN_AGE (数値)
    パスワードの有効期限が来る前に警告を発する期間の日数。 ゼロにしておくと、期限切れの当日にのみ警告を行い、 負の数を指定した場合は一切警告を行わない。 指定されていない場合は警告を行わない。

PASS_MAX_DAYS, PASS_MIN_DAYS, PASS_WARN_AGE はアカウントを作るときにだけ利用される。 これらの設定を変更しても、既存のアカウントには影響しない。

UID_MAX (数値)

UID_MIN (数値)
    useradd プログラムがユーザ ID を選択する時の範囲。

UMASK (数値)
    許可属性マスクをこの値に初期化する。 指定されていない場合は、許可属性マスクは 077 に初期化される。

USERDEL_CMD (文字列)
    定義されていると、ユーザを削除するときにこのコマンドが実行される。 削除されるユーザ (最初の引き数に渡される) の at/cron/print ジョブなどを削除するコマンドにしておくとよい。

参照表
以下の参照表は、 shadow パスワード機能のどのプログラムが どのパラメータを使用するかを示したものである。

chfn
    CHFN_AUTH CHFN_RESTRICT

chsh
    CHFN_AUTH

groupadd
    GID_MAX GID_MIN

newusers
    PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UMASK

pwconv
    PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE

useradd
    GID_MAX GID_MIN PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UID_MAX UID_MIN UMASK

userdel
    MAIL_DIR USERDEL_CMD

usermod
    MAIL_DIR

バグ
shadow パスワード機能によって提供されてきた機能の大部分は、 現在は PAM によって処理されている。 したがって、 login(1), passwd(1), su(1) などのプログラムは、もはや /etc/login.defs を用いない。 対応する PAM の設定ファイルを調べるようにしてほしい。

関連項目
login(1), passwd(1), su(1), passwd(5), shadow(5), pam(8)

著者
Julianne Frances Haugh (julie78787@gmail.com)
Chip Rosenthal (chip@unicom.com)