openafs/doc/man-pages/pod8/kpwvalid.pod
Russ Allbery e3dfba8e6c man-page-conversion-20051208
This is the initial conversion of the AFS Adminstrators Reference into POD
for use as man pages.  The man pages are now generated via pod2man from
regen.sh so that only those working from CVS have to have pod2man
available.  The Makefile only installs.  The pages have also been sorted
out into pod1, pod5, and pod8 directories, making conversion to the right
section of man page easier without maintaining a separate list and allowing
for names to be duplicated between pod5 and pod1 or pod8 (which will likely
be needed in a few cases).

This reconversion is done with a new script based on work by Chas Williams.
In some cases, the output is worse than the previous POD pages, but this is
a more comprehensive conversion.

This is only the first step, and this initial conversion has various
problems.  In addition, the file man pages that didn't have simple names
have not been converted in this pass and will be added later.  Some of the
man pages have syntax problems and all of them have formatting errors.  The
next editing pass, coming shortly, will clean up most of the remaining
mess.
2005-12-08 12:14:33 +00:00

87 lines
2.5 KiB
Plaintext

=head1 NAME
kpwvalid - Checks quality of new password
=head1 DESCRIPTION
The kpwvalid command checks the quality of a new password passed
to it from the B<kpasswd> or B<kas setpassword>
command. It is optional. If it exists, it must reside in the
same AFS directory as the binaries for the B<kpasswd> and
B<kas> command suites (create a symbolic link from the client
machine's local disk to this directory). The directory's ACL
must extend the B<a> (B<administer>) and B<w>
(B<write>) permissions to the B<system:administrators>
group only. These requirements prevent unauthorized users from
substituting a spurious B<kpwvalid> binary.
The AFS distribution includes an example kpwvalid program that
checks that the password is at least eight characters long; the code for
it appears in the following B<Examples> section.
The script or program must accept a sequence of password strings, one per
line, on the standard input stream. The first is the current password
and is ignored. Each subsequent string is a candidate password to be
checked. The program must write the following to the standard output
stream for each one:
=over 4
=item *
C<0> (zero) and a newline character to indicate that the password
is acceptable
=item *
A non-zero decimal number and a newline character to indicate that the
password is not acceptable
=back
Further, it must write any error messages only to the standard error
stream, not to the standard output stream.
=head1 EXAMPLES
The following example program, included in the AFS distribution, verifies
that the requested password includes eight or more characters.
#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;
}
=head1 SEE ALSO
L<kas_setpassword(1)>,
L<kpasswd(1)>
=head1 COPYRIGHT
IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
This documentation is covered by the IBM Public License Version 1.0. It was
converted from HTML to POD by software written by Chas Williams and Russ
Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.