"Which programs use PAM?
Well, any program that needs to authenticate users, control logins,
allocate resources to users, or update login credentials can make
its life easier by using PAM. Obvious candidates are programs
login the program that lets you log in on character
gdm lets you log in to a graphical desktop.
su lets you start a shell with a new identity.
passwd lets you choose a new password.
"The benefit of PAM is that it separates the details of how
"authentication-related activities" are to be performed from the
applications that need to carry out these activities. This makes it
relatively easy to change your security policy, or to add new
authentication mechanisms, simply by reconfiguring PAM. In the era
before PAM, changes like that would have required source-code
changes to the applications themselves."