cracklib dictio‐ nary utilities
cracklib-format file ... cracklib-packer cracklib_dictpath cracklib-unpacker cracklib_dictpath
cracklib-format takes a list of text files each containing a list of words, one per line, It lowercases all words, removes control charac‐ ters, and sorts the lists. It outputs the cleaned up list to standard output. The text files may be optionally compressed with gzip(1). If you supply massive amounts of text to cracklib-format you must have enough free space available for use by the sort(1) command. If you do not have 20Mb free in /var/tmp (or whatever temporary area your sort(1) command uses), have a look at the /usr/sbin/cracklib-format program which is a sh(1) program. You can usually tweak the sort(1) command to use any large area of disk you desire, by use of the -T option. crack‐ lib-format has a hook for this. cracklib-packer reads from standard input a list of sorted and cleaned words and creates a database in the directory and prefix given by the command line argument cracklib_dictpath. Three files are created with the suffixes of .hwm, .pwd, and .pwi. These three files are in the format that the FascistCheck(3) subroutine, cracklib-unpacker(8), and cracklib-check(8), utilities understand. The number of words read and written are printed on stdout(3). cracklib-unpacker reads from the database in the directory and prefix given by the command line argument cracklib_dictpath and outputs on standard output the list of words that make up the database. The database is in a binary format generated by the utilities crack‐ lib-format(8) and cracklib-packer(8). On a Debian system the database is located in the directory /var/cache/cracklib/cracklib_dict and is generated daily with the program /etc/cron.daily/cracklib. The loca‐ tion is also defined in the header file crack.h using the constant CRACKLIB_DICTPATH though none of the subroutines in the cracklib li‐ braries have this location hardcoded into their implementations.
/var/cache/cracklib/cracklib_dict.[hwm|pwd|pwi] cracklib dictionary database files used by utilities. /etc/cron.daily/cracklib cracklib daily cron program to rebuild the cracklib dictionary database. /etc/cracklib/cracklib.conf cracklib configuration file used by the cracklib daily cron pro‐ gram to rebuild the cracklib dictionary database. /usr/include/crack.h cracklib header file defining the subroutine FascistCheck(3) and the constant CRACKLIB_DICTPATH used to compile in the location of the cracklib dictionary database for these utilities. /usr/sbin/cracklib-format cracklib shell script to create initial list of words for dic‐ tionary database.
cracklib2 is written by Alec Muffett