名前
/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 ではインストールしなければよい。 |
CREATE_HOME (ブール値) | useradd が、デフォルトでユーザのホームディレクトリを 作成するかどうかを定義する。 このオプションは useradd のコマンドラインの -m フラグと OR される。 |
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 | CREATE_HOME 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 (jockgrrl@ix.netcom.com) Chip Rosenthal (chip@unicom.com)