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 tocracklib-format, you must have enough free space available for use by thesort(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 subroutineFascistCheck(3)and the constantCRACKLIB_DICTPATHused 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 π
FascistCheck(3)cracklib-check(8)update-cracklib(8)create-cracklib-dict(8)/usr/share/doc/libcrack2/libcrack2.html/usr/share/doc/cracklib-runtime/cracklib-runtime.html
π 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
- alpine 3.22: cracklib-doc 2.10.3-r0 Β· LGPL-2.1-or-later
- alpine 3.23: cracklib-doc 2.10.3-r0 Β· LGPL-2.1-or-later
- alpine 3.24: cracklib-doc 2.10.3-r1 Β· LGPL-2.1-or-later
- arch rolling: cracklib 2.10.3-1 Β· GPL-2.0-or-later
- centos-stream 10: cracklib 2.9.11-8.el10 Β· LGPL-2.1-or-later
- centos-stream 9: cracklib 2.9.6-28.el9 Β· LGPLv2+
- centos-stream 9: cracklib 2.9.6-28.el9 Β· LGPLv2+
- debian bookworm: cracklib-runtime 2.9.6-5+b1 Β· LGPL-2.1-only
- debian trixie: cracklib-runtime 2.9.6-5.2+b1 Β· LGPL-2.1-only
- fedora 43: cracklib 2.10.3-1.fc43 Β· LGPL-2.1-or-later
- fedora 43: cracklib 2.10.3-1.fc43 Β· LGPL-2.1-or-later
- fedora 43: cracklib 2.9.11-8.fc43 Β· LGPL-2.1-or-later
- fedora 43: cracklib 2.9.11-8.fc43 Β· LGPL-2.1-or-later
- fedora 44: cracklib 2.10.3-1.fc44 Β· LGPL-2.1-or-later
- fedora 44: cracklib 2.10.3-1.fc44 Β· LGPL-2.1-or-later
- fedora 44: cracklib 2.9.11-10.fc44 Β· LGPL-2.1-or-later
- fedora 44: cracklib 2.9.11-10.fc44 Β· LGPL-2.1-or-later
- nixpkgs unstable: cracklib 2.10.3
- opensuse-leap 16.0: cracklib 2.9.11-160000.2.2 Β· LGPL-2.1-only
- opensuse-leap 16.0: cracklib 2.9.11-160000.2.2 Β· LGPL-2.1-only
- opensuse-leap 16.0: cracklib 2.9.11-160000.2.2 Β· LGPL-2.1-only
- opensuse-leap 16.0: cracklib 2.9.11-160000.2.2 Β· LGPL-2.1-only
- ubuntu jammy: cracklib-runtime 2.9.6-3.4build4 Β· LGPL-2.1-only
- ubuntu noble: cracklib-runtime 2.9.6-5.1build2 Β· LGPL-2.1-only
- ubuntu questing: cracklib-runtime 2.9.6-5.2build1
- ubuntu resolute: cracklib-runtime 2.9.6-5.2build3 Β· LGPL-2.1-only
- ubuntu stonking: cracklib-runtime 2.9.6-5.3 Β· LGPL-2.1-only
- Copyright (C) 1998, 1999 Jean Pierre LeJacq <jplejacq@quoininc.com>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms