3 kpwvalid - Checks quality of new password
11 The B<kpwvalid> command checks the quality of a new password passed to it
12 from the B<kpasswd> or B<kas setpassword> command. It is optional. If it
13 exists, it must reside in the same AFS directory as the binaries for the
14 B<kpasswd> and B<kas> command suites (create a symbolic link from the
15 client machine's local disk to this directory). The directory's ACL must
16 extend the C<a> (administer) and C<w> (write) permissions to the
17 system:administrators group only. These requirements prevent unauthorized
18 users from substituting a spurious B<kpwvalid> binary.
20 The AFS distribution includes an example B<kpwvalid> program that checks
21 that the password is at least eight characters long; the code for it
22 appears in L<EXAMPLES> below.
24 The script or program must accept a sequence of password strings, one per
25 line, on the standard input stream. The first is the current password and
26 is ignored. Each subsequent string is a candidate password to be
27 checked. The program must write the following to the standard output
34 C<0> (zero) and a newline character to indicate that the password is
39 A non-zero decimal number and a newline character to indicate that the
40 password is not acceptable.
44 Further, it must write any error messages only to the standard error
45 stream, not to the standard output stream.
49 The following example program, included in the AFS distribution, verifies
50 that the requested password includes eight or more characters.
53 /* prints 0 if the password is long enough, otherwise non-zero */
56 char oldpassword[512];
59 if (fgets(oldpassword, 512, stdin))
60 while (fgets(password, 512, stdin)) {
61 if (strlen(password) > 8) { /* password includes a newline */
66 fputs("Passwords must contain at least 8 characters.\n",
77 L<kas_setpassword(8)>,
82 IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
84 This documentation is covered by the IBM Public License Version 1.0. It was
85 converted from HTML to POD by software written by Chas Williams and Russ
86 Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.