cracklib-format(8)

πŸ’– cracklib-format(8) β€” the Debian GNU/Linux manual, but make it cute πŸ’–

okay bestie, so this is the cracklib-format page from the Debian GNU/Linux manual, and it's actually a little trio of utilities that all hang out together. let's get into it 🫢


✨ NAME ✨

cracklib-format, cracklib-packer, cracklib-unpacker β€” cracklib dictionary utilities


🌸 SYNOPSIS 🌸

cracklib-format file ...

cracklib-packer cracklib_dictpath

cracklib-unpacker cracklib_dictpath

πŸ’… DESCRIPTION πŸ’…

🧚 cracklib-format

cracklib-format takes a list of text files, and each one of those files contains a list of words, like, one word per line. what it does is so iconic honestly:

  • it lowercases all the words
  • it removes control characters
  • and it sorts the lists

then it outputs the cleaned-up list to standard output. and btw the text files can optionally be compressed with gzip(1) β€” no big deal, she handles it πŸ’

⚠️ okay important, if you supply massive amounts of text to cracklib-format, you must have enough free space available for use by the sort(1) command. like, for real for real.

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. and cracklib-format has a hook for this πŸ”₯


πŸŽ€ cracklib-packer

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 get 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). slay ✨


πŸ¦‹ cracklib-unpacker

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. it's giving reverse uno card πŸ’…


πŸ‘‘ the database itself

the database is in a binary format generated by the utilities cracklib-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 location is also defined in the header file crack.h using the constant CRACKLIB_DICTPATH β€” though none of the subroutines in the cracklib libraries have this location hardcoded into their implementations. iykyk 😌


πŸ“ FILES πŸ“

  • /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 program 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 dictionary database.

🌈 SEE ALSO 🌈


πŸ’œ AUTHOR πŸ’œ

cracklib2 is written by Alec Muffett <alecm@crypto.dircon.co.uk>. Manual added by Jean Pierre LeJacq <jplejacq@quoininc.com>.


okay and that's the whole page bestie, no cap πŸ’– this was version 2.7-8.5, dated Sat Jun 21 22:43:12 CEST 2008, straight from the Debian GNU/Linux manual. periodt. πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from