Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mkpasswd(8) [osf1 man page]

mkpasswd(8)						      System Manager's Manual						       mkpasswd(8)

NAME
mkpasswd - Creates a version of the basic user database organized for efficient searches SYNOPSIS
/usr/sbin/mkpasswd [-v] [-s size] passwdfile DESCRIPTION
The mkpasswd command creates an auxiliary version of the basic user database in a form organized for efficient searches by the getpwuid subroutine and the getpwnam subroutine. The mkpasswd command reads the user attributes in the /etc/passwd file and creates a hashed pass- word database in the /etc/passwd.dir and /etc/passwd.pag files (see ndbm(3) reference page). If you specify a file other than /etc/passwd, the command reads the user attributes in that file and creates a hashed password database in the passwdfile.dir and passwdfile.pag files. It is important to know that the password file you designate must be in password file format (see the passwd(4) reference page). Note that if you use the vipw command to edit a password file, you do not need to use the mkpasswd command. This is because the vipw com- mand automatically invokes the mkpasswd command which in turn creates the /etc/passwd.dir and /etc/passwd.pag files. Only the root user should have execute access to the mkpasswd command. Files accessed: File /etc/passwd /etc/passwd.pag /etc/passwd.dir passwdfile passwdfile.pag passwdfile.dir The mkpasswd command may fail with a errno value of EFBIG if the password file is large (30,000 entries or more). This failure can be avoided by using the -s option to set a larger page block size for the hashed database. FLAGS
Specifies that each stored entry be listed on standard output Specifies the page block size to use in creating the hashed password data- base. The size argument is a value from 1 to 32, representing page block sizes from 1024 to 32768, respectively. The default page block size is 1024. EXAMPLES
If you have not used vipw to edit the /etc/passwd and wish to generate a hashed password database, enter the following: /usr/sbin/mkpasswd -v /etc/passwd An auxiliary version of the basic user database (/etc/passwd.dir and /etc/passwd.pag files) is created with a hashing algo- rithm. To create a hashed password database with a page block size of 8192, enter the following: /usr/sbin/makepasswd -s 8 /etc/passwd SECURITY NOTE
If enhanced security is running on your system, the passwords are stored in the extended attributes database. See the Security guide for more information about passwords in the enhanced security environment. RETURN VALUES
The mkpasswd command exits with a nonzero exit code if any errors are detected. ERRORS
If the mkpasswd request is not successful, the following error message is displayed: The passwdfile.dir and passwdfile.pag files already exist from a previous execution of the same mkpasswd command. FILES
Specifies the command path RELATED INFORMATION
Commands: adduser(8), passwd(1), passwd(4), vipw(8) Functions: getpwent(3), ndbm(3) Manuals: Security delim off mkpasswd(8)

Check Out this Related Man Page

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

NAME
pwd_mkdb -- generate the password databases SYNOPSIS
pwd_mkdb [-c] [-p | -s] [-d directory] [-u username] file DESCRIPTION
pwd_mkdb 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 Operate in a base directory other than the default of /etc. All absolute paths (including file) will be made relative to directory. Any directories specified as a part of file will be stripped off. This option is used to create password databases in directories other than etc; for instance in a chroot(8) jail. -p Create a Version 7 style password file and install it into /etc/passwd. -s Only update the secure version of the database. This is most commonly used in conjunction with the -u flag during a password change. Because the insecure database doesn't contain the password there is no reason to update it if the only change is in the password field. Cannot be used in conjunction with the -p flag. -u 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 option 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 SEE ALSO
chpass(1), passwd(1), db(3), getpwent(3), passwd(5), vipw(8) STANDARDS
Previous versions of the system had a program similar to pwd_mkdb, mkpasswd, which built dbm(3) style databases for the password file but depended 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. 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 different 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. BSD
June 6, 1993 BSD
Man Page