PAM_LIST(7) Standards, Environments, and Macros PAM_LIST(7)
NAME
pam_list - PAM account management module for UNIX
SYNOPSIS
pam_list.so.1
DESCRIPTION
The
pam_list module implements
pam_sm_acct_mgmt(3PAM), which provides
functionality to the PAM account management stack. The module
provides functions to validate that the user's account is valid
on this host based on a list of users, groups, and/or netgroups in
the given file. The users, groups, and netgroups are separated by
newline character. Groups are specified with character '%' and
netgroups are specified with character '@' as prefix before name of
the group/netgroup in the list. The maximum line length is 1023
characters.
The username is the value of
PAM_USER. The host is the value of
PAM_RHOST or, if
PAM_RHOST is not set, the value of the localhost as
returned by
gethostname(3C) is used.
If neither of the
allow,
deny, or
compat options are specified, the
module will look for +/- entries in the local
/etc/passwd file. If
this style is used,
nsswitch.conf(5) must not be configured with
compat for the
passwd database. If no relevant +/- entry exists for
the user,
pam_list is not participating in result.
If
compat option is specified then the module will look for +/-
entries in the local
/etc/passwd file. Other entries in this file
will be counted as + entries. If no relevant entry exits for the
user,
pam_list will deny the access.
The following options can be passed to the module:
allow= The full pathname to a file of allowed users,
groups, and/or netgroups. Only one of
allow= or
deny= can be specified.
compat Activate
compat mode.
deny= The full pathname to a file of denied users,
groups, and/or netgroups. Only one of
deny= or
allow= can be specified.
debug Provide
syslog(3C) debugging information at the
LOG_AUTH |
LOG_DEBUG level.
group The module should perform group membership matches
for the username.
user The module should only perform netgroup matches on
the username. This is the default option.
nouser The username should not be used in the netgroup
match.
host Only the host should be used in netgroup matches.
nohost The hostname should not be used in netgroup
matches.
user_host_exact The user and hostname must be in the same
netgroup.
ERRORS
The following error values are returned:
PAM_SERVICE_ERR An invalid set of module options was given in the
pam.conf(5) for this module, or the
user/netgroup file could not be opened.
PAM_BUF_ERR A memory buffer error occurred.
PAM_IGNORE The module is ignored, as it is not participating
in the result.
PAM_PERM_DENIED The user is not on the allow list or is on the
deny list.
PAM_SUCCESS The account is valid for use at this time.
PAM_USER_UNKNOWN No account is present for the user
EXAMPLES
Example 1: Using pam_list in default mode
/etc/pam.conf modification looks like:
other account requisite pam_roles.so.1
other account required pam_unix_account.so.1
other account required pam_list.so.1
In the case of
default mode or
compat mode, the important lines in
/etc/passwd appear as follows:
+loginname - user is approved
-loginname - user is disapproved
+@netgroup - netgroup members are approved
-@netgroup - netgroup members are disapproved
Example 2: Using pam_list with allow file
/etc/pam.conf modification looks like:
other account requisite pam_roles.so.1
other account required pam_unix_account.so.1
other account required pam_list.so.1 allow=/etc/users.allow
/etc/users.allow contains:
root
localloginname
remoteloginname
@netgroup
Example 3: Using pam_list with allow file to allow members of the
'admins' group access.
/etc/pam.conf modification looks like:
other account requisite pam_roles.so.1
other account required pam_unix_account.so.1
other account required pam_list.so.1 group allow=/etc/users.allow
/etc/users.allow contains:
root
%admins
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------------+
|Interface Stability | Committed |
+--------------------+-------------------------+
|MT-Level | MT-Safe with exceptions |
+--------------------+-------------------------+
The interfaces in
libpam(3LIB) are MT-Safe only if each thread within
the multithreaded application uses its own PAM handle.
SEE ALSO
syslog(3C),
libpam(3LIB),
pam(3PAM),
pam_authenticate(3PAM),
pam_sm_acct_mgmt(3PAM),
nsswitch.conf(5),
pam.conf(5),
attributes(7) April 22, 2020 PAM_LIST(7)