# 管理解説書

## kas setfields

目的

認証データベース項目のオプションの特性を設定します。

構文

    kas setfields -name <name of user>
                  [-flags <hex flag value or flag name expression>]
                  [-expiration <date of account expiration>]
                  [-lifetime <maximum ticket lifetime>]
                  [-pwexpires <number days password is valid ([0..254])>]
                  [-reuse <permit password reuse (yes/no)>]
                  [-attempts <maximum successive failed login tries ([0..254])>]
                  [-locktime <failure penalty [hh:mm or minutes]>]
                  [-admin_username <admin principal to use for authentication>]
                  [-password_for_admin <admin password>]  [-cell <cell name>]
                  [-servers <0explicit list of authentication servers>+]
                  [-noauth]  [-help]

    kas setf -na <name of user>  [-f <hex flag value or flag name expression>]
             [-e <date of account expiration>]  [-li <maximum ticket lifetime>]
             [-pw <number days password is valid ([0..254])>]
             [-r <permit password reuse (yes/no)>]
             [-at <maximum successive failed login tries ([0..254])>]
             [-lo <failure penalty [hh:mm or minutes]>]
             [-ad <admin principal to use for authentication>]
             [-pa <admin password>]  [-c <cell name>]
             [-s <explicit list of authentication servers>+]  [-no]  [-h]

    kas sf -na <name of user>  [-f <hex flag value or flag name expression>]
           [-e <date of account expiration>]  [-li <maximum ticket lifetime>]
           [-pw <number days password is valid ([0..254])>]
           [-r <permit password reuse (yes/no)>]
           [-at <maximum successive failed login tries ([0..254])>]
           [-lo <failure penalty [hh:mm or minutes]>]
           [-ad <admin principal to use for authentication>]
           [-pa <admin password>]  [-c <cell name>]
           [-s <explicit list of authentication servers>+]  [-no]  [-h]

構文

kas setfields コマンドは、 -name 引き数で指定されたユーザーの認証データベース項目を、指定されたオプション引き数に応じて変更します。この引き数は、単独で指定することも、組み合わせて指定することもできます。

- ユーザーが認証サーバーに対して管理特権があり、チケットを入手して、自分のパスワードを変更できるかどうかを判別するフラグを設定するには、-flags 引き数を使用してください。
- 認証データベースの項目の有効期限を設定するには、 -expiration 引き数を指定してください。
- 項目に関連したチケットの最大存続時間を設定するには、 -lifetime 引き数を指定してください。この値と他の値からトークンの実際の存続時間を判別する方法については、 klog コマンドの解説ページを参照してください。
- ユーザーのパスワード失効時間を設定するには、 -pwexpires 引き数指定してください。
- 新規パスワードの作成時に、前回使用した20 個のパスワードから選択して再利用するかどうか設定するには、 -reuse 引き数を指定してください。
- ユーザーが無効なパスワードを入力できる最大試行回数を設定する場合には、-attempts 引き数を指定します。この回数を超えると、認証サーバーは入力を拒否し、発行者をロックアウトします。6 回失敗した後に、認証サーバーは、 UNIX システム・ログ・ファイル (syslog ファイルまたは同様なファイル) にメッセージを記録します。このファイルの標準的な位置は、オペレーティング・システムによって異なります。
- ロックアウトされたユーザーの認証を認証サーバーが拒否している時間を設定するには、-locktime 引き数を設定してください。

kas examine コマンドは、このコマンドで行った設定を表示します。

注意

-pwexpires 引き数で設定したパスワード存続時間は、このコマンドが発行されたときからではなく、ユーザーのパスワードを最後に変更した時刻から始まります。したがって、存続時間はそ及的になります。たとえば、ユーザーが 100 日前にパスワードを変更して、パスワード存続時間の設定が 100 日未満の場合、パスワードは即時に有効期限が切れます。有効期限をさかのぼるのを回避するには、パスワード存続時間の切れる直前にパスワードを変更するように、ユーザーに指示してください。

認証アカウントに `ADMIN` フラグが設定されている管理者は、認証データベース内の機密性の高い情報にアクセスすることができます。非許可ユーザーによるアクセスを防ぐには、 -attempts 引き数を使用して、管理トークンを取得しているユーザーに対して、無効なパスワードの入力回数を厳密に制限する必要があります。しかし、セルの中には、`ADMIN` フラグの付いたアカウントが複数存在していなければなりません。kas コマンド自身も `ADMIN` 特権を必要としますし、管理者がロックアウトされた場合、他の `ADMIN` 特権を持つアカウントにアクセスして、現在のアカウントのロックを解除してもらう必要があります。

ある状況では、認証の失敗回数を強制的に適用すると、 -attempts 引き数で設定された限界よりも少ない場合でも、ロックアウトが起きてしまう場合があります。 klog、AFS 修正 login ユーティリティーなどのクライアント・サイド認証プログラムは、認証要求を受け取ると、ランダムに認証サーバーを選択し、そのサーバーで認証されない場合には、次の要求で別の認証サーバーを選択するようになっています。異なるデータベース・サーバー・マシンで実行されている認証サーバーは、ユーザーが無効なパスワードを入力した回数についての情報を共有していません。その代わりに、各認証サーバーは、補助データベース・ファイル kaserverauxdb (デフォルトでは、 /usr/afs/local ディレクトリーにあります ) のコピーを個別に保守しています。このファイルには、ユーザー・アカウントごとに、連続失敗回数と最後に失敗した時刻が記録されています。これは、どの認証サーバーも、失敗試行回数の総数ではなく、その一部について知っていることを意味します。-attempts 引き数で設定された回数以上の試行を許可しないようにするには、各認証サーバーが試行回数の一部だけを認識するようにしなければなりません。特に、試行回数の制限が f で、認証サーバーの数が S の場合、各認証サーバーは、f を S で割った数に等しい試行回数を許可することができます (認証サーバーの Ubik 同期サイトは、残りの fmodS をトラックします)。

通常、この方法によって、許可される試行回数が構成された制限 (f) より少なくなることはありません。 1 つの認証サーバーが試行を拒否すると、クライアントは別のサーバー・インスタンスにアクセスし、認証が成功するか、あるいはすべてのサーバーにアクセスするまで、この操作を繰り返します。しかし、 1 つ以上の認証サーバー・プロセスが使用不能になっている場合、 U を使用不能なサーバー数、 S を通常使用可能なサーバー数とすると、 U を S で割った数に等しいパーセンテージだけ実際には制限回数が少なくなります。

失敗した認証試行に対して、望ましくない結果を避けるためには、次の推奨事項に注意してください。

- -attempts 引き数 (失敗した認証試行回数の制限) に低すぎる値を設定をしないでください。 3 つのデータベース・サーバー・マシンがあるセルの認証サーバーごとに 3 回まで試行を繰り返すことができるように、通常ユーザー・アカウントの失敗試行回数は 9 回に制限するようにしてください。
- -locktime 引き数を使用する場合には、比較的短いロックアウト時間を設定してください。パスワードの推測は常とう手段ですが、これは決して精巧なものではありません。ロックアウト回数を設定することにより、攻撃者の進入を防いだり、また、長期的に見た場合、攻撃者よりも認証ユーザーに対する負担を多くするすることができます。通常のユーザー・アカウントでは、25 分のロックアウト時間が一般的です。
- 特に指定のない限り、アカウントに不明瞭なロックアウト時間を割り当てないでください。(-locktime 引き数で 0 [zero] を設定しないでください。) このようなアカウントは、ある時点でかなり大きくなる可能性があります。それぞれの認証サーバーは、kaauxdb ファイルのコピーにあるアカウントの障害カウンターをリセットしません。(逆に、ロックアウト時間が限定されていると、認証サーバーに対する試行が最後に失敗して一定の時間が経過すると、カウンターがリセットされます。) また、不明確なロックアウト時間が設定されたアカウントがロックされた場合、管理者が kas unlock コマンドを発行しないと、そのロックは解除できません。したがって、管理アカウントに不明確なロックアウト時間を設定するのは、非常に危険なことです。すべての管理アカウントがロックされると、認証サーバーのすべてのインスタンスを停止し、それぞれの kaauxdb ファイルを削除しない限り、ロックを解除することはできません。

オプション

-name
  設定を変更する認証データベース・アカウントを指定します。

-flags
  4 つの切り替えフラグの 1 つを設定し、そのフラグを現在設定されているフラグに追加します。後に続く文字列を 1 つ以上指定するか、または特定の値を組み合わせた 16 進数を指定します。4 つのフラグをすべてデフォルトに戻すには、値 0 (ゼロ) を指定してください。文字列を使用して 1 度に 1 つ以上のフラグを設定する場合には、これらのフラグを正符号でつないでください (例: NOTGS+ADMIN+CPW)。現在のフラグ設定をすべて消去し、新しい値を設定する場合には、リストの先頭に等号を付けてください (例: =NOTGS+ADMIN+CPW)。

  ADMIN
    ユーザーに特権 kasコマンド (等価の16 進数 0x004、デフォルトは NOADMIN) の発行を許可します。

  NOTGS
    認証サーバーのチケット獲得サービス (TGS) は、ユーザーへのチケット発行を拒否します (等価の 16 進数は 0x008、デフォルトは TGS です)。

  NOSEAL
    チケット獲得サービスは、この項目のキー・フィールドの内容を暗号化キーとして使用できません (等価の 16 進数は 0x020、デフォルトは SEAL です)。

  NOCPW
    ユーザーは、自分のパスワードまたはキーを変更することはできません (等価の 16 進数は 0x040、デフォルトは CPW です)。

-expiration
  項目そのものの有効期限切れを判別します。ユーザー項目の期限が切れると、ユーザーはログインできなくなります。 afs などのサーバーの期限が切れると、関連した鍵を使用するすべてのサーバー・プロセスがアクセス不能になります。指定可能な値は 次の 3 つです。この中の 1 つを指定します。

  never
    アカウントを無期限にします (デフォルト値)。

  mm/dd/yyyy
    有効期限に指示された日付 (月 / 日 / 年) の午前 12:00 を設定します。例 : 01/23/1999, 10/07/2000

  "mm/dd/yyyy hh:MM"
    有効期限に指示された日付 (月 / 日 / 年) の指示された時刻 (時 : 分)を設定します。24 時間形式で時刻を指定します (たとえば、 20:30 は、午後 8:30 になります)。日付の形式は、日付のみの場合と同じです。スペースを含むため、インスタンス全体を引用符で囲みます。例 : "01/23/1999 22:30", "10/07/2000 3:45"

  年の許容値の範囲は、1970 (1970 年 1 月 1 日は、標準 UNIX 日付表示で時間 0 になります) から 2037 (2037年は、UNIX 表示が 2038 年 2 月以降の日付を収容できないため最大になります) です。

-lifetime
  認証サーバーのチケット獲得サービス (TGS) がチケットへ割り当て可能な最大存続時間を指定します。アカウントがユーザーに所属する場合、この値はユーザーへ発行されたトークンの最大存続時間になります。アカウントが afs のようなサーバーに対応する場合、この値は、相互認証の間 TGS がサーバーに提供し、クライアントに発行するチケットの最大存続時間になります。

  秒数 (3600 は 1 時間と同じになります) を表す整数、または特定の時および分をコロンで分けて指定します。(10:00 は 10 時間と同じになります) この引き数を省略すると、デフォルト設定値は 100:00 時間 (360000 秒) です。

-pwexpires
  ユーザーのパスワードが変更された後に、有効にしておく日数を設定します。有効期限までの日数を指定する場合には、1 から 254 までの整数を指定してください。パスワードに有効期限を設定しない場合には、 0 (デフォルト) を指定してください。

  パスワードが失効すると、そのユーザーは認証されません。ただし、 kpasswd コマンドを使用してパスワードを変更すると、そのパスワードは変更後 30 日 は有効です (その後は、管理者だけが、 kas setpassword コマンドを使用してパスワードを変更することができます)。クロックは、kas setfields コマンドが発行された時ではなく、最後にパスワードが変更された時点から開始するので注意してください。有効期限をさかのぼるのを回避するには、この引き数を指定したコマンドを発行する直前に、パスワードを変更する必要があります。

-reuse
  最近使用した 20個の中からパスワードを選択することができるかどうか指定します。旧パスワードの再利用を可能にする場合には yes (デフォルト) を、最近使用した 20 個のパスワードのどれかに類似しているパスワードの再利用を不可にする場合には no を指定します。

-attempts
  認証時にユーザーが無効なパスワードを連続して入力できる回数を指定します。(klog コマンドか、AFS トークンを認めるログイン・プログラムを使用します。)指定した回数を超えると、認証サーバーは、-locktime 引き数に指定された時間が経過するまで、次の試行 (ユーザーのロック解除) を拒否します。失敗回数を指定する場合には、1 から 254 までの整数を指定してください。認証回数に制限を設定しない場合には、0 (デフォルト) を指定してください。

-locktime
  -attempts 引き数に指定された制限を超えてから、認証サーバーがそのユーザーの認証要求を拒否している期間を指定します。

  時間と分 (hh:mm)、または分 (mm) のみを 01 (1 分) から 36:00 (36 時間) の範囲から指定します。 kas コマンド・インタープリターは、 36:00 より大きい値が指定されると、この値まで戻し、次の 8.5 分の倍数まで繰り上げます。0 (ゼロ) を設定すると、ロックアウト時間は無限にされます。この場合、管理者が kas unlock コマンドを発行して、アカウントのロックを解除しなければなりません。

-admin_username
  コマンド実行時の認証サーバーによる認証で使用されるユーザー ID を指定します。詳細については、kas の解説ページを参照してください。

-password_for_admin
  コマンド発行者のパスワードを指定します。省略すると (推奨)、 kas コマンド・インタープリターは、プロンプトを出して、パスワードの入力を要求します。入力したパスワードは表示されません。詳細については、kas の解説ページを参照してください。

-cell
  コマンドの実行を行うセルに名前を付けます。詳細については、kas の解説ページを参照してください。

-servers
  接続確立時に使用させる認証サーバーを実行しているマシンの名前を指定します。詳細については、kas の解説ページを参照してください。

-noauth
  コマンドの発行者に非特権 ID anonymous を割り当てます。詳細については、kas の解説ページを参照してください。

-help
  このコマンドのオンライン・ヘルプを出力します。これ以外の有効なオプションはすべて無視されます。

例

次の例では、admin アカウントを持つ管理者が、smith に管理特権を与え、その項目を認証データベースに追加し、有効期限を 2000 年 12 月 31日に指しています。

       % kas setfields -name smith -flags ADMIN -expiration 12/31/2000
       Password for admin:

次の例では、admin アカウントを持つ管理者が、ユーザー pat のパスワードの有効期限を最終更新日から 60 日 にしています。また、パラメーターの再利用は禁止しています。

       % kas setfields -name pat -pwexpires 60 -reuse no
       Password for admin:

必要となる特権

発行者には、認証データベース項目で `ADMIN` フラグを設定させなければなりません。

関連情報

kaserverauxdb

kas

kas examine

kas setpassword

kas unlock

klog

kpasswd

[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]

(C) IBM Corporation 2000. All Rights Reserved