管理解説書

kpwvalid

目的

新規パスワードの品質を検査します。

構文

kpwvalid コマンドは、 kpasswd コマンド、または、 kas setpassword コマンドから渡される、新規パスワードの品質を検査します。このコマンドはオプションです。このコマンドを使用する場合は、kpasswd および、 kas コマンド組のバイナリーと同じ、 AFS ディレクトリーに常駐させる (つまりこのディレクトリーに、クライアント・マシンのローカル・ディスクから、記号リンクを作成する) 必要があります。このディレクトリーの ACL は、 a (管理) および、 w (書き込み) アクセス権を、 system:administrators グループにのみ、許可しなければなりません。これらの要件により、非許可ユーザーが、代わりに疑似 kpwvalid バイナリー・ファイルを使用することが、できなくなります。

AFS 配布物には、パスワードの長さが少なくとも 8 文字であることを検査する、 kpwvalid プログラムの例が組み込まれています。そのためのコードを、次ののセクションで示しています。

スクリプトまたはプログラムは、標準入力ストリームで、パスワード文字列の順序を、1 行に 1 つずつ、受け入れなければなりません。最初の行は現行パスワードで、無視されます。それに続く各文字列が、検査対象となるパスワードの候補です。プログラムでは、各パスワードの標準出力ストリームに対し、以下の情報を書き込まなければなりません。

さらに、標準エラー・ストリームにのみ、エラー・メッセージを書き込まなければなりません。標準出力ストリームには、書き込む必要はありません。

以下に示したプログラム例は、AFS 配布物に組み込まれ、要求されたパスワードが 8 文字以上であるかどうかを検査します。

   #include <stdio.h>
   /* prints 0 if the password is long enough, otherwise non-zero */
   main()
   {
   char oldpassword[512];
   char password[512];
   
   if (fgets(oldpassword, 512, stdin))
      while (fgets(password, 512, stdin)) {
         if (strlen(password) > 8) { /* password includes a newline */
            fputs("0\n",stdout);
            fflush(stdout);
         }
         else {
            fputs("Passwords must contain at least 8 characters.\n",
                  stderr);
            fputs("1\n",stdout);
            fflush(stdout);
         }
   return 0;
   }
   

関連情報

kas setpassword

kpasswd


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



(C) IBM Corporation 2000. All Rights Reserved