nistbladm は、passwd テーブルをはじめとする NIS+ テーブルに関する情報を作成、変更、表示するのに使用するコマンドです。
nistbladm コマンドを使用してパスワード操作をするには、nistbladm を passwd テーブルのシャドウ列に適用する必要があります。nistbladm をシャドウ列に適用するのは複雑で微妙な作業になります。passwd コマンドまたは Solaris 管理コンソールツールでより簡単に行える操作には、nistbladm コマンドを使用するべきではありません。
つまり以下のような操作には、nistbladm ではなく passwd コマンドや Solaris 管理コンソール ツールを使用してください。
パスワードの変更
パスワードの使用期間の設定
パスワード作成後から変更が可能になるまでの時間の設定
「パスワードが間もなく無効になる」という警告が表示されるタイミングの設定
パスワードの使用期間に関する設定の解除
nistbladm コマンドには以下の機能があります。
新しい passwd テーブルエントリの作成
既存のエントリの削除
passwd テーブル中の UID フィールド、GID フィールドの更新
passwd テーブルの、アクセス権などセキュリティに関する属性の更新
ユーザーアカウントに関して「どれだけの期間使用できるか」、「どれだけの期間使用されなければ無効になるか」を設定する (「パスワード使用権の有効期限」、「ログインの間隔の最大値の指定」を参照)
nistbladm コマンドでは、シャドウ列の様々なフィールドの値を指定することによってパスワードパラメータの設定を行います。シャドウ列のフィールドの値は、以下のような形式で設定します。
引数の意味はそれぞれ以下のとおりです。
「n1 最終更新日」。パスワードが最後に変更された日付です。1970 年 1 月 1 日からの日数で表されます。このフィールドの値は、パスワードが変更されると自動的に更新されます (日数に関する重要な情報は、「nistbladm と日数」に示されています)。このフィールドが空白であったり、指定されている値が 0 の場合は、過去に一度もパスワードの変更が行われていないことを意味します。
このフィールドの値は、残りのフィールドの設定の基礎となることに注意してください。このフィールドの値が不当に変更されると、残りのフィールドの設定も不当なものになります。
「n2 最小値」。パスワードが変更されてから、次の変更が可能になるまでの期間です。たとえば、パスワード作成時の最終変更日フィールドの値が 9201 (1970 年 1 月 1 日から 9201 日経過したことを示す) で、最小値フィールドの値が 8 だとすると、9209 日目まではパスワードの変更ができません (詳細は、「パスワードの変更禁止期間の設定」を参照)。
この値としては以下の 3 とおりが考えられます。
「0」または空白の場合は、変更禁止期間がないことを意味します。
「0 より大きい数字」は、この数字がパスワードの変更禁止期間 (単位: 日) になります。
「最大値 (n3) より大きい値」は、このフィールド値が最大フィールドの値より大きい場合、パスワードを変更できません。変更しようとすると、次のメッセージが表示されます。「You may not change this password」
「n3 最大値」は、パスワードが作成されてから、使用できなくなるまでの日数を示します。この日数を過ぎると、ログインの際新しいパスワードの設定が強制されます。たとえば、パスワード作成時の最終変更日の値が 9201 で、最大値が 30 の場合、9231 (9201+30) 日目が経過した後は、ログイン時に新しいパスワードの設定が強制されます (詳細は、「パスワードの有効期間の設定」を参照)。
この値としては以下の 3 とおりが考えられます。
「0」は「次回のログイン時にパスワードの変更を強制し、その後は有効期間を設定する機能を停止する」ということを意味します。
「0 より大きい値」は、パスワードの有効期間の日数を指定します。
「マイナス1 (-1)」は、「-1」は、有効期間を設定する機能を停止するということを意味します。つまり passwd -x -1 username と入力すると、使用期間に関して該当ユーザーに行われていた設定はすべて解除されます。このフィールドを空白にしておくと、-1 として扱われます。
「n4 警告」は、パスワードの使用期間がその最大値に達する前に、パスワードを変更するように警告される日数です。たとえば、最終変更日時フィールドの値が 9201 、最大値フィールドの値が 30、警告フィールドの値が 5 であると仮定します。この場合、日付が 9226 日 (9201+30-5=9226) 以降になると、ログインするたびに「パスワードを変更してください」という警告が表示されます。パスワードの警告時期の詳細については、「警告期間の設定」を参照してください。
この値としては以下の 2 とおりが考えられます。
警告メッセージが表示される期間がないことを示します。
警告メッセージが表示される期間をその日数に指定します。
「n5 間隔」は、ログインとログインの間隔 (日数) の最大値です。ここで指定された日数を超える期間ログインを行わないと、ログインができなくなります。たとえば、間隔に 6 を指定した場合、6 日間ログインを行わないと 7 日目にはログインができなくなります (アカウントの最大ログイン間隔についての詳細は、「ログインの間隔の最大値の指定」を参照)。
この値としては以下の 2 とおりが考えられます。
「マイナス1 (-1)」は、最大ログイン間隔機能を解除します。任意の日数の間オフにすることができ、ログイン権限を失うことはありません。これがデフォルトです。
最大ログイン間隔 (日数) を指定します。
「n6 期限」は、パスワードの有効期限を示します。1970 年 1 月 1 日からの日数で表されます。この日を過ぎると、ログインができなくなります。たとえば、期限が 9739 (1995 年 9 月 1 日) に設定されている場合、1995 年 9 月 2 日 (GMT) になるとログインができなくなります。このときログインを試行すると「Login incorrect」というメッセージが表示されます (詳細は、「パスワード使用権の有効期限」を参照)。
この値としては以下の 2 とおりが考えられます。
「マイナス1 (-1)」は、有効期限の設定を解除します。パスワードが有効期限を過ぎている場合でも、-1 を設定すると再び使えるようになります。有効期限を設定したくないときは、-1 を指定するようにしてください。
有効期限の日付 (「1970 年 1 月 1 日から数えて何日目か」) です。現在以前の日付を設定すると、パスワードはすぐに無効になります。
「Login」はユーザーのログイン ID を指定します。
nistbladm を使用して passwd テーブルのシャドウ列を設定する場合、すべてのフィールドに適切な値を指定する必要があります。空白のまま残したり、0 を入力したりしても「変更なし」という意味にはなりません。
ユーザー amy が、パスワードの最終変更日が 1995 年 5 月 1 日 (1970 年 1 月 1 日から数えて 9246 日目)、パスワード作成後の変更禁止期間が 7 日、パスワードの有効期間が 30 日、「パスワードが間もなく無効になる」という警告が表示されるのがパスワード作成から 26 日目以降、ログインとログインの間隔の最大値が 15 日、アカウントの有効期限が (1970 年 1 月 1 日から) 9255 日目という設定にするには、以下のように入力します。
nistbladm -m shadow=9246:7:30:5:15:9285 [name=amy], passwd.org.dir |
パスワードの使用期間に関するパラメータは、日数で表されるものがほとんどです。日数を指定する際には以下の規則を守る必要があります。
1970 年 1 月 1 日を 0 とします。つまり 1970 年 1 月 2 日は 1 になります。
NIS+ では、日付の計算、カウントに GMT (Greenwich Mean Time) が使用されます。つまり日付が変更されるのは、GMT の午前 0 時です。
日数の指定には整数を使用します。小数は使用できません。
パスワードのロックなどの動作は、指定された日付に行われます。たとえば、パスワード使用権の有効期限を1995 年 1 月 2 日 (1970 年 1 月 1 日から 9125日目) に設定した場合、この日は「ユーザーがパスワードを使用できる最後の日」となります。パスワードが使用できなくなるのは、次の日からです。
最終変更日、期限のどちらのフィールドも、入力するのは 1970 年 1 月 1 日から数えた日数です。たとえば、以下のようになります。
表 16–2 1970 年 1 月 1 日からの日数
日付 |
日数 |
---|---|
1970 年 1 月 1 日 |
0 |
1970 年 1 月 2 日 |
1 |
1971 年 1 月 2 日 |
365 |
1997 年 1 月 1 日 |
9863 |