PWD_MKDB(8)             OpenBSD System Manager's Manual            PWD_MKDB(8)

NAME
     pwd_mkdb - generate the password databases

SYNOPSIS
     pwd_mkdb [-c] [-p] [-d directory] [-u username] file

DESCRIPTION
     pwd_mkdb creates db(3) style secure and insecure databases for the speci-
     fied file.  These databases are then installed into /etc/spwd.db and
     /etc/pwd.db, respectively.  The file is installed into
     /etc/master.passwd. The file must be in the correct format (see
     passwd(5)). It is important to note that the format used in this system
     is different from the historic Version 7 style format.

     The options are as follows:

     -c      Check if the password file is in the correct format.  Do not
             change, add, or remove any files.

     -p      Create a Version 7 style password file and install it into
             /etc/passwd.

     -d directory
             Operate in a base directory other than the default of /etc. +.It
             Fl u Ar username Only update the record for the specified user.
             Utilities that operate on a single user can use this option to
             avoid the overhead of rebuilding the entire database.  This op-
             tion must never be used if the line number of the user's record
             in /etc/master.passwd has changed.

     file    The absolute path to a file in master.passwd format, as described
             in passwd(5).

     The two databases differ in that the secure version contains the user's
     encrypted password and the insecure version has an asterisk (`*').

     The databases are used by the C library password routines (see
     getpwent(3)).

     pwd_mkdb exits zero on success, non-zero on failure.

FILES
     /etc/master.passwd  current password file
     /etc/passwd         a Version 7 format password file
     /etc/pwd.db         insecure password database file
     /etc/pwd.db.tmp     temporary file
     /etc/spwd.db        secure password database file
     /etc/spwd.db.tmp    temporary file

BUGS
     Because of the necessity for atomic update of the password files,
     pwd_mkdb uses rename(2) to install them.  This, however, requires that
     the file specified on the command line live on the same file system as
     the /etc directory.

     There are the obvious races with multiple people running pwd_mkdb on dif-
     ferent password files at the same time.  The front-ends to pwd_mkdb,
     chpass(1), passwd(1), and vipw(8) handle the locking necessary to avoid
     this problem.

COMPATIBILITY
     Previous versions of the system had a program similar to pwd_mkdb,
     mkpasswd(8), which built dbm(3) style databases for the password file but
     depended on the calling programs to install them.  The program was re-
     named in order that previous users of the program not be surprised by the
     changes in functionality.

SEE ALSO
     chpass(1), passwd(1), db(3), getpwent(3), passwd(5), vipw(8)


OpenBSD 2.9                      June 6, 1993                                2
