PAM_UNIX_AUTH(7) Standards, Environments, and Macros PAM_UNIX_AUTH(7)
NAME
pam_unix_auth - PAM authentication module for UNIX
SYNOPSIS
pam_unix_auth.so.1DESCRIPTION
The
pam_unix_auth module implements
pam_sm_authenticate(3PAM), which
provides functionality to the PAM authentication stack. It provides
functions that use
crypt(3C) to verify that the password contained in
the
PAM item
PAM_AUTHTOK is the correct password for the user
specified in the item
PAM_USER. If
PAM_REPOSITORY is specified, then
user's password is fetched from that repository. Otherwise, the
default
nsswitch.conf(5) repository is searched for that user.
For accounts in the name services which support automatic account
locking, the account may be configured to be automatically locked
(see
user_attr(5) and
policy.conf(5)) after multiple failed login
attempts. For accounts that are configured for automatic locking, if
authentication failure is to be returned, the failed login counter is
incremented upon each failure. If the number of successive failures
equals or exceeds
RETRIES as defined in
login(1), the account is
locked and
PAM_MAXTRIES is returned. Currently, only the "files"
repository (see
passwd(5) and
shadow(5)) supports automatic account
locking. A successful authentication by this module clears the failed
login counter and reports the number of failed attempts since the
last successful authentication.
Authentication service modules must implement both
pam_sm_authenticate() and
pam_sm_setcred(). To allow the
authentication portion of UNIX authentication to be replaced,
pam_sm_setcred() in this module always returns
PAM_IGNORE. This
module should be stacked with
pam_unix_cred(7) to ensure a successful
return from
pam_setcred(3PAM).
The following options can be passed to the module:
nowarn Turn off warning messages.
server_policy If the account authority for the user, as specified by
PAM_USER,
is a server, do not apply the UNIX policy from the
passwd entry
in the name service switch.
nolock Regardless of the automatic account locking setting for the
account, do not lock the account, increment or clear the failed
login count. The
nolock option allows for exempting account
locking on a per service basis.
ERRORS
The following error codes are returned from
pam_sm_authenticate():
PAM_AUTH_ERR Authentication failure.
PAM_BUF_ERR Memory buffer error.
PAM_IGNORE Ignores module, not participating in result.
PAM_MAXTRIES Maximum number of retries exceeded.
PAM_PERM_DENIED Permission denied.
PAM_SUCCESS Successfully obtains authentication token.
PAM_SYSTEM_ERR System error.
PAM_USER_UNKNOWN No account present for user.
The following error codes are returned from
pam_sm_setcred():
PAM_IGNORE Ignores this module regardless of the control flag.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------------+
|Interface Stability | Committed |
+--------------------+-------------------------+
|MT Level | MT-Safe with exceptions |
+--------------------+-------------------------+
SEE ALSO
login(1),
passwd(1),
crypt(3C),
syslog(3C),
libpam(3LIB),
pam(3PAM),
pam_setcred(3PAM),
pam_sm_authenticate(3PAM),
pam_sm_setcred(3PAM),
nsswitch.conf(5),
pam.conf(5),
passwd(5),
policy.conf(5),
shadow(5),
user_attr(5),
attributes(7),
pam_authtok_check(7),
pam_authtok_get(7),
pam_authtok_store(7),
pam_dhkeys(7),
pam_passwd_auth(7),
pam_unix_account(7),
pam_unix_cred(7),
pam_unix_session(7),
NOTES
The interfaces in
libpam(3LIB) are MT-Safe only if each thread within
the multi-threaded application uses its own
PAM handle.
The
pam_unix(7) module is no longer supported. Similar functionality
is provided by
pam_authtok_check(7),
pam_authtok_get(7),
pam_authtok_store(7),
pam_dhkeys(7),
pam_passwd_auth(7),
pam_setcred(3PAM),
pam_unix_account(7),
pam_unix_cred(7),
pam_unix_session(7).
If the
PAM_REPOSITORY item_type is set and a service module does not
recognize the type, the service module does not process any
information, and returns
PAM_IGNORE. If the
PAM_REPOSITORY item_type is not set, a service module performs its default action.
August 19, 2023 PAM_UNIX_AUTH(7)