Bug#1086182: libpam-pwquality: missing dependency on cracklib-runtime
alexander barakin
alex at barak.in
Thu Oct 23 14:07:32 BST 2025
as far as i understand, the essence of the problem is the lack of dependence on the cracklib-runtime package.
if you install libpam-pwquality in the standard way, the error does not occur:
$ unset opt
$ export image=debian:trixie
$ docker run -it --rm $image /bin/sh -c "useradd -m test && echo 'test:first0strong1pass2' | chpasswd && apt-get -yq update && apt-get -yq install $opt libpam-pwquality expect && su - test -c \"echo \\\"set timeout -1; spawn passwd; expect \\\\\\\"Current password:\\\\\\\"; send \\\\\\\"first0strong1pass2\r\\\\\\\"; expect \\\\\\\"New password:\\\\\\\"; send \\\\\\\"very1strong2pass3\r\\\\\\\"; expect \\\\\\\"Retype new password:\\\\\\\"; send \\\\\\\"very1strong2pass3\r\\\\\\\"; expect eof\\\" | expect -\""
...
The following NEW packages will be installed:
cracklib-runtime expect file libcrack2 libmagic-mgc libmagic1t64
libpam-pwquality libpwquality-common libpwquality1 libtcl8.6 tcl-expect
tcl8.6 wamerican
...
spawn passwd
Changing password for test.
Current password:
New password:
Retype new password:
passwd: password updated successfully
but if you install without the recommended packages, it is impossible to change the password (please note that the cracklib package is not installed):
$ export opt=--no-install-recommends
$ export image=debian:trixie
$ docker run -it --rm $image /bin/sh -c "useradd -m test && echo 'test:first0strong1pass2' | chpasswd && apt-get -yq update && apt-get -yq install $opt libpam-pwquality expect && su - test -c \"echo \\\"set timeout -1; spawn passwd; expect \\\\\\\"Current password:\\\\\\\"; send \\\\\\\"first0strong1pass2\r\\\\\\\"; expect \\\\\\\"New password:\\\\\\\"; send \\\\\\\"very1strong2pass3\r\\\\\\\"; expect \\\\\\\"Retype new password:\\\\\\\"; send \\\\\\\"very1strong2pass3\r\\\\\\\"; expect eof\\\" | expect -\""
...
Recommended packages:
cracklib-runtime
The following NEW packages will be installed:
expect libcrack2 libpam-pwquality libpwquality-common libpwquality1
libtcl8.6 tcl-expect tcl8.6
...
spawn passwd
Changing password for test.
Current password:
New password:
/var/cache/cracklib/cracklib_dict.pwd: No such file or directory
BAD PASSWORD: The password fails the dictionary check - error loading dictionary
New password:
More information about the pkg-gnome-maintainers
mailing list