パスワードの使用規則に関する設定およびそのデフォルトについて説明します。
パスワード情報の獲得先が nsswitch.conf ファイルで files に指定されているすべてのユーザーのパスワードについて、4 つのデフォルト設定を行うためのファイルです。/etc/defaults/passwd ファイルで行われたデフォルト設定は、/etc ディレクトリのファイルからパスワード情報を獲得しているユーザーにだけ適用されます。パスワード情報の獲得先が NIS マップあるいは NIS+ テーブルであるようなユーザーには適用されません。NIS+ サーバー上の /etc/defaults/passwd ファイルは、パスワード情報をローカルファイルから獲得しているローカルユーザーにだけ影響を与えます。NIS+ 環境または、nsswitch.conf ファイルでパスワード情報の獲得先が nis、nisplus に設定されているユーザーには影響を与えません。
/etc/defaults/passwd ファイルで行われる「パスワードに関する 4 つのデフォルト設定」とは、具体的には以下のものを指します。
有効期間 (週単位)
変更禁止期間 (週単位)
「パスワードが間もなく無効になる」という警告メッセージの表示される期間 (週単位)
最低文字数
/etc/defaults/passwd ファイルのデフォルト設定には、以下の規則があります。
パスワード情報をローカルの /etc ファイルから得ているユーザーの場合、passwd コマンド、Solstice AdminSuite、admintool で個々に行われた設定の方が、/etc/defaults/passwd のデフォルト設定よりも優先します。つまり /etc/defaults/passwd ファイルのデフォルト設定は、passwd テーブル中のエントリで (/etc/defaults/passwd の設定に対応した) 個別の設定が行われていないユーザーにだけ適用されるということです。
パスワードの長さを除き、すべての設定は週単位で行われます (個々のパスワードの使用期間についての設定は、日単位で行われていた点に注意)
MAXWEEKS
、MINWEEKS
、WARNWEEKS
は、パスワードの最終変更日を起点として設定します (nistbladm などでは warn の起点を max としていた点に注意)。
/etc/defaults/passwd ファイルには、デフォルトでは以下のエントリがすでに含まれています。
MAXWEEKS= MINWEEKS= PASSLENGTH= |
設定に必要な作業は、= の後に適切な数字を入力することだけです。= の後に数字が入っていないエントリは無効です。たとえば、MAXWEEKS
に 4 を指定するには、以下のように入力します。
MAXWEEKS=4 MINWEEKS= PASSLENGTH= |
ユーザーのパスワードの有効期間を週単位で指定するためのエントリです。以下に示すとおり、"=" の後に適切な数字を入力するだけで指定ができます。
MAXWEEKS=N |
N は週の数です。たとえば、MAXWEEKS=9 というようにします。
パスワードの変更禁止期間を週単位で指定するためのエントリです。以下に示すとおり、"=" の後に適切な数字を入力するだけで指定ができます。
MINWEEKS=N |
N は週の数です。たとえば、MINWEEKS=2 というようにします。
同時に MAXWEEKS
のデフォルトを設定していない限り、WARNWEEKS
のデフォルトを設定しても問題はありません。
パスワードが無効になる前に、「パスワードが間もなく無効になる」という警告メッセージの表示が開始されるタイミングを指定するエントリです。たとえば、MAXWEEKS
の値を 9 に指定していて、パスワードが無効になる 2 週間前に警告メッセージの表示を開始したいときは、WARNWEEKS
を 7 に設定します。
WARNWEEKS
は、MAXWEEKS
に指定された有効期限ではなく、パスワードの最終変更日を起点と考えて設定することに注意してください。したがって WARNWEEKS
に、MAXWEEKS
以上の値を設定することはできません。
WARNWEEKS
のデフォルトは、MAXWEEKS
のデフォルトも一緒に設定されていない限り無効です。
WARNWEEKS は、以下に示すとおり "=" の後に適切な数字を入力するだけで指定ができます。
WARNWEEKS=N |
N は週の数です。たとえば、WARNWEEKS=1 というようにします。
passwd コマンドには、デフォルトで「パスワードの長さは6文字以上にする」という規則があります。しかし、/etc/defaults/passwd ファイルの PASSLENGTH
を使用することによってこの規則を変更することが可能です。
パスワードの最低文字数を 6 以外の値にするには、以下に示すとおり PASSLENGTH= の後に適切な値を入力します。
PASSLENGTH=N |
N は文字数です。たとえば、PASSLENGTH=7 というようにします。
パスワード変更の際の入力試行回数と所要時間には、制限を設定できます。設定は rpc.nispasswdd デーモン起動時の引数で行います。
入力試行回数を制限したり、タイムウィンドウを設定したりすることにより、「権利のない人が、パスワードを試行錯誤で知ることのできるものに変えてしまう」という危険をある程度 (完璧ではない) 回避できます。
パスワード変更時の誤入力試行回数を制限するには、rpc.nispasswdd に -a number という引数 (number は試行回数) を指定します。rpc.nispasswdd を起動するには、NIS+ マスターサーバー上にスーパーユーザー特権が必要です。
誤入力試行回数を 4 に制限する (デフォルトは 3) 場合、以下のように入力します。
station1# rpc.nispasswdd -a 4 |
この場合、4 回目のパスワード入力が失敗すると、「Too many failures - try later」というメッセージが表示され、一定の時間が経過するまで該当ユーザーのパスワード変更はできなくなります。
パスワード変更時の所要時間 (ログインの所要時間) を制限するには、rpc.nispasswdd に -c minutes という引数 (minutes には時間を分単位で指定する) を指定します。rpc.nispasswdd を起動するには、NIS+ マスターサーバー上にスーパーユーザー特権が必要です。
たとえば、ユーザーが 2 分以内にログインしなければならないように設定するには、以下のように入力します。
station1# rpc.nispasswdd -c 2 |
この場合、2 分以内にパスワードの変更に成功しないとエラーメッセージが表示され、一定の時間が経過するまで該当ユーザーのパスワード変更はできなくなります。