名前
/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
の設定ファイルを調べるようにしてほしい。
著者
Julianne Frances Haugh (julie78787@gmail.com)
Chip Rosenthal (chip@unicom.com)