pwd_mkdb(8)

NAME

pwd_mkdb - generate the password databases

SYNOPSIS

pwd_mkdb  [-BCiLNp]  [-d  directory]  [-s   cachesize]   [-u
username] file

DESCRIPTION

The pwd_mkdb utility creates db(3) style secure and insecure
databases
for the specified file. These databases are then installed
into
/etc/spwd.db and /etc/pwd.db respectively. The file is in
stalled 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:
-B Store data in big-endian format.
-C Check if the password file is in the correct format.
Do not
change, add, or remove any files.
-L Store data in little-endian format.
-N Tell pwd_mkdb to exit with an error if it cannot ob
tain a lock on
the file. By default, we block waiting for a lock on
the source
file. The lock is held through the rebuilding of the
database.
-p Create a Version 7 style password file and install it
into
/etc/passwd.
-i Ignore locking failure of the master.passwd file.
This option is
intended to be used to build password files in the re
lease process
over NFS where no contention can happen. A non-de
fault directory
must also be specified with the -d option for locking
to be
ignored. Other use of this option is strongly dis
couraged.
-d directory
Store databases into specified destination directory
instead of
/etc.
-u username
Only update the record for the specified user. Utili
ties that
operate on a single user can use this option to avoid
the overhead
of rebuilding the entire database.
-s cachesize
Specify in megabytes the size of the memory cache used
by the hashing library. On systems with a large user base, a
small cache size
can lead to prohibitively long database file rebuild
times. As a
rough guide, the memory usage of pwd_mkdb in megabytes
will be a
little bit more than twice the figure specified here.
The default
is 2 megabytes.
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)).
The pwd_mkdb utility exits zero on success, non-zero on
failure.

ENVIRONMENT

If the PW_SCAN_BIG_IDS environment variable is set, pwd_mkdb
will suppress the warning messages that are normally generated for
large user and
group IDs. Such IDs can cause serious problems with soft
ware that makes
assumptions about the values of IDs.

FILES

/etc/pwd.db The insecure password
database file.
/etc/pwd.db.tmp A temporary file.
/etc/spwd.db The secure password
database file.
/etc/spwd.db.tmp A temporary file.
/etc/master.passwd The current password file.
/etc/passwd A Version 7 format pass
word file.

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 pro
gram was
renamed 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)

BUGS

Because of the necessity for atomic update of the password
files,
pwd_mkdb uses rename(2) to install them. This, however, re
quires 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 different password files at the same time. The front-ends to
pwd_mkdb,
chpass(1), passwd(1) and vipw(8), handle the locking neces
sary to avoid
this problem.
BSD February 28, 2005
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout