Solaris ネーミングの管理

パスワードの使用期間に関する設定

設定により、パスワードの定期的な変更をユーザーに強制できます。

たとえば、以下のような設定が可能です。

上記の警告期間や有効期間などに達したのがログインの行われた後であった場合、影響は現れません。そのまま普通に動作し続けます。

影響が現れるのは、次回のログイン時か、ログインを必要とする機能 (以下に例を示す) を使用した時です。

パスワードの使用期間に関する設定は、ユーザーごとに行います。パスワードの使用期間に関する必要条件はユーザーによって違っている可能性があります。ユーザー一般にデフォルト設定を適用することもできます。詳細は、「/etc/defaults/passwd ファイル」を参照してください。

パスワードの強制的な変更

次回ログイン時のパスワード変更をユーザーに強制するには、以下の 2 種類の方法があります。

使用期間に関する設定を引き続き有効にする場合


passwd -f username

使用期間に関する設定を解除する場合


passwd -x 0 username

パスワードの有効期間の設定

パスワードの有効期間を設定するには、passwd コマンドの引数 max を使用します。有効期間は日数で指定します。有効期間が終了した後は、新しいパスワードをユーザーが、作成しなければなりません。有効期間終了後に同じパスワードでログインしようとしても、「Your password has been expired for too long」というメッセージが表示され、新しいパスワードを作成しない限りログインを完了できません。

引数 max は以下の形式で使用します。


passwd -x max username 

引数の意味はそれぞれ以下のとおりです。

たとえば、schweik というユーザーに 45 日ごとのパスワード変更を強制するには、以下のように入力します。


station1% passwd -x 45 schweik

パスワードの変更禁止期間の設定

パスワード作成後の変更禁止期間を設定するには、引数 min を使用します。変更禁止期間が終了しないうちにパスワードを変更しようとすると、「Sorry less than N days since the last change」というメッセージが表示されます。

引数 min は以下の形式で使用します。


passwd -x max  -n min username

引数の意味はそれぞれ以下のとおりです。

たとえば、ユーザー eponine のパスワードの、有効期間を 45 日間、変更禁止期間を 7 日間に設定する場合は、以下のように入力します。


station1% passwd -x 45 -n 7 eponine

min 引数には以下の規則があります。

警告期間の設定

パスワードの有効期限以前の一定期間、ログイン時に「Your password will expire in N days」(N は日数) というメッセージが表示されるようにするには、引数 warn を使用します。

たとえば、パスワードの有効期限が 30 日間 (引数 -max で指定する) で、warn が 7 に設定されている場合、パスワード作成後 24 日目のログイン時に「Your password will expire in 7 days」という警告メッセージが表示されます。また翌日 (パスワード作成後 25 日目) には、警告メッセージは「Your password will expire in 6 days」となります。

警告メッセージは、電子メールで送信されるものでも、ユーザーのコンソールウィンドウに表示されるものでもないという点に注意してください。表示されるのは、ユーザーのログイン時のみです。つまり指定の期間ユーザーがログインしなければ警告メッセージは表示されません。

warn の値は、max の値との「関連によって機能する」ものであるという点に注意してください。つまり、「max によって設定される有効期限から逆算されるもの」ということです。warn の値が 14 であれば、「Your password will expire in N days」というメッセージの表示が開始されるのは、有効期限の 2 週間前です。

warn の値は max の値との関連によって機能するため、max の指定がない場合は意味がなくなります。

引数 warn は以下の形式で使用します。


passwd -x max  -w   warn username

引数の意味はそれぞれ以下のとおりです。

たとえば、nilovna というユーザーの、パスワードの有効期間を 45 日間とし、警告メッセージの表示を有効期限の 5 日前から開始する場合、以下のように入力します。


station1% passwd -x 45 -w 5 nilovna

warn 引数には以下の規則があります。


注 -

Solstice AdminSuite を使用して、warm 値をユーザーのパスワード用に設定することもできます。


パスワードの使用期間に関する設定の解除

ユーザーのパスワードの有効期間を解除するには、以下の 2 つの方法があります。

有効期間を取り消す。パスワードはそのまま使用できる


passwd -x -1 username 

次回ログイン時にパスワードを強制的に変更させた後、有効期間を取り消す


passwd -x 0 username

上記の方法では、max の値を 0 か -1 に設定する (詳細は、「パスワードの有効期間の設定」を参照)

たとえば、ユーザー mendez のパスワードを次回ログイン時に強制的に変更させ、その後パスワードの有効期間を解除するには、以下のように入力します。


station% passwd -x 0 mendez

注 -

Solstice AdminSuite を使用して、このパラメータをユーザーのパスワード用に設定できます。


この値を設定するには、nistbladm コマンドを使用できます。たとえば、ユーザー otsu のパスワードの有効期間を取り消し、変更の必要がないようにするには、以下のように入力します。


station1% nistbladm -m `shadow=0:0:-1:0:0:0:0' [name=otsu],passwd.org_dir

nistbladm コマンドの使用方法の詳細は、「nistbladm コマンド」を参照してください。

パスワード使用権の有効期限

引数 expire には「ユーザーのパスワード使用権がいつ無効になるか」を日付で指定します。該当ユーザーのログインをこの日以降禁止し、システムから締め出します。

たとえば、ユーザー pete の有効期限を 1997 年 12 月 31 日に設定すると、どんなパスワードを使用しても 1998 年 1 月 1 日以降 pete という ID ではログインができなくなります。ログインをしようとしても、「Login incorrect」というメッセージが表示されます。

「有効期間」と「有効期限」の違い

パスワード使用権の有効期限は、パスワードの有効期間とは異なっています。

有効期限の設定

パスワード使用権が無効になっても、その影響が現れるのは、該当ユーザーがログインをしようとするときだけです。該当ユーザーがすでにログインしていた場合には、パスワード使用権が無効になったことによる影響は現れません。ただし、rlogintelnet などログインを必要とする機能は使用できなくなり、いったんログアウトするとログインできなくなります。以上のことから、パスワード使用権に有効期限を設ける場合、毎日のワークセッション終了時には必ずログアウトするようユーザー全員に指示してください。


注 -

Solstice AdminSuite ツールを使用して有効期限の設定ができるときは、nistbladm を使用しないでください。Solstice AdminSuite ツールの方が使いやすく、設定を誤る可能性が低くなります。


nistbladm コマンドでパスワード使用権の有効期限を指定するには、以下のように入力します。


nistbladm -m `shadow=n:n:n:n:n:n6:n' [name=login],passwd.org_dir

引数の意味はそれぞれ以下のようになります。

たとえば、ユーザー pete の有効期限を 1995 年 12 月 31 日に設定する場合は、以下のように入力します。


station1% nistbladm -m `shadow   =n:n:n:n:n:9493:n' [name=pete],passwd.org_dir 

注意 - 注意 -

空白のフィールドや、値の正しくないフィールドがあると機能しません。


パスワード使用権の有効期限の解除

有効期限を過ぎたパスワード使用権を再び使用できる状態にするには、nistbladm コマンドを使用して該当フィールド (n6) に -1 を指定します。例を以下に示します。


station1% nistbladm -m `shadow=   n:n:n:n:n:-1:n'   [name=huck],passwd.org_dir

また、nistbladm で「n6」フィールドを将来の日付に設定し直すという方法も使用できます。

ログインの間隔の最大値の指定

引数 inactive には、「ログインからログインまでの間隔を最大何日あけることができるか」を指定します。この引数に指定された日数を超えてログインが行われなかった場合、該当ユーザーはマシンにログインできなくなります。ログインしようとすると、「Login incorrect」というメッセージが表示されます。

この設定はネットワーク全体ではなく、個々のマシンに対して行われます。したがって、NIS+ 環境においてログイン間隔の最大値を設定するには、該当ユーザーのエントリをホームドメインの passwd テーブルに指定します。この設定はネットワーク上のすべてのマシンで該当ユーザーに対して適用されます。しかし、最後にログインをした日付はマシンごとに異なるため、個別に (各マシンの /var/adm/utmp ファイルに) 記録されます。

たとえば、ユーザー sam の最大ログイン間隔を 10 日間に設定した場合を考えてみましょう。sam は 1 月 1 日にマシン A とマシン B にログインをした後、ログアウトしました。続いて 3 日後の 1 月 4 日、sam はマシン B にログインした後ログアウトしました。さらに 9 日後の 1 月13日になると、sam はマシン B にはログインできますがマシン A にはログインできません。マシン B においては最終ログインから 9 日間しか経過していませんが、マシン A においては 13 日間が経過しているからです。

最大ログイン間隔の設定は、まだ一度もログインをしていないマシンには適用されないという点に注意してください。一度もログインをしていないマシンには、引数 inactive の設定および他のマシンへのログイン実績がどのようになっていようとログインが可能です。


注意 - 注意 -

「毎日の作業終了時には必ずログアウトをせよ」という指示がユーザーに対して行われていない場合、最大ログイン間隔の設定はしないでください。この設定はログインにだけ関係しており、他の形でシステムを使用する場合のことは考慮されていません。仮にユーザーが作業終了後もログインしたままの状態でシステムを放置しておくと、ログインが発生しないため指定のログイン間隔をすぐ超えてしまいます。指定のログイン間隔を超えた状態でリブートやログアウトをすると、再びログインできなくなります。



注 -

Solstice AdminSuite ツールを使用して最大ログイン間隔の設定ができるときは、nistbladm を使用しないでください。Solstice AdminSuite ツールの方が使いやすく、設定を誤る可能性が低くなります。


最大ログイン間隔の設定を nistbladm コマンドで行う場合は、以下の形式を使用します。


nistbladm -m `shadow= n:n:n:n:n5:n:n' [name=login], passwd.org_dir

引数の意味はそれぞれ以下のとおりです。

たとえば、ユーザー sam の最大ログイン間隔を 7 日間に指定する場合は、以下のように入力します。


station1% nistbladm -m `shadow=   n:n:n:n:n:7:n:n' [name=sam],passwd.org_dir 

最大ログイン間隔の設定を解除する (ログインできなくなったユーザーを再びログインできるようにする) には、nistbladminactive を -1 に指定します。