/etc/login.defs(5) 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 の設定ファイルを調べるようにしてほしい。

著者

Julianne Frances Haugh ([email protected])
Chip Rosenthal ([email protected])