pam_unix needs to read the system's password database for
authentication. This requires the calling process to run with root
privileges.
Software authenticating with PAM therefore often uses own suid-root
helpers doing the whole authentication conversation privileged.
A helper for pam_unix can simplify this and reduce the code that must
run privileged, at least for the most common use case of authenticating
as self (needed for example by screen lockers). This helper drops
privileges directly after obtaining the password hash from the database.