crond: PAM adding faulty module: /lib64/security/pam_unix.so

This is a wiki page. Be bold and improve it!

If you have any questions about the content on this page, don't hesitate to open a new ticket and we'll do our best to assist you.

Sample error log in /var/log/messages:

Oct 28 09:15:01 gentoo-host crond[16678]: PAM adding faulty module: /lib64/security/pam_unix.so
Oct 28 09:15:01 gentoo-host crond[16677]: (user) PAM ERROR (Module is unknown)
Oct 28 09:15:01 gentoo-host crond[16677]: (user) FAILED to authorize user with PAM (Module is unknown)
Oct 28 09:15:01 gentoo-host crond[16678]: (user) PAM ERROR (Module is unknown)
Oct 28 09:15:01 gentoo-host crond[16678]: (user) FAILED to authorize user with PAM (Module is unknown)
Oct 28 09:15:01 gentoo-host crond[16679]: PAM unable to dlopen(/lib64/security/pam_unix.so): /lib64/libcrypt.so.1: symbol __open_nocancel, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference

Such errors may appear when the system has been upgraded and relevant libraries changed, but the cron service has not been restarted, so that the cron daemon still looks for older, now invalidated symbols in the pam_unix.so or other shared objects.

The solution is simply to restart the cron daemon.
Depending on your init system and the cron service used, you have have to perform something similar to:

# service cronie stop
# service cronie start