Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PWD_MKDB(8)		     System Manager's Manual		     PWD_MKDB(8)

NAME
     pwd_mkdb -- generate the password databases

SYNOPSIS
     pwd_mkdb [-CiNp] [-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	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.

     -d directory
	   Store databases into specified destination directory instead of /etc.

     -i    Ignore locking failure of the master.passwd file.  This option is in-
	   tended to be used to build password files in the release process over
	   NFS where no contention can happen.	 A  non-default  directory  must
	   also  be  specified	with  the  -d  option for locking to be ignored.
	   Other use of this option is strongly discouraged.

     -N    Tell pwd_mkdb to exit with an error if it cannot obtain 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.

     -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.

     -u username
	   Only  update the record for the specified user.  Utilities that oper-
	   ate on a single user can use this option to avoid the overhead of re-
	   building the entire database.

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

     The databases are used by	the  C	library  password  routines  (see  getp-
     went(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 software that makes assump-
     tions 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 password file.

EXAMPLES
     Regenerate the password database after manually editing  or  replacing  the
     password file:

	   /usr/sbin/pwd_mkdb -p /etc/master.passwd

COMPATIBILITY
     Previous  versions  of  the  system  had a program similar to pwd_mkdb, mk-
     passwd, which built dbm(3) style databases for the password  file	but  de-
     pended on the calling programs to install them.  The program 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,  requires  that  the  file
     specified	on the command line live on the same file system as the /etc di-
     rectory.

     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, ch-
     pass(1), passwd(1) and vipw(8), handle the locking necessary to avoid  this
     problem.

FreeBSD ports 15.quarterly	 April 19, 2025 		     PWD_MKDB(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pwd_mkdb&sektion=8&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help