Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pam.conf(4) [hpux man page]

pam.conf(4)						     Kernel Interfaces Manual						       pam.conf(4)

NAME
pam.conf - configuration file for pluggable authentication modules SYNOPSIS
DESCRIPTION
is the configuration file for the Pluggable Authentication Module architecture, or PAM. A PAM module provides functionality for one or more of four possible services: authentication, account management, session management, and password management. An authentication service module provides functionality to authenticate a user and set up user credentials. An account management module provides functionality to determine if the current user's account is valid. This includes checking for password and account expiration, as well as verifying access hour restrictions. A session management module provides functionality to set up and terminate login sessions. A password management module provides functionality to change a user's authentication token or password. Simplified pam.conf configuration file The file contains a listing of services. Each service is paired with a corresponding service module. When a service is requested, its associated module is invoked. Each entry has the following format: service_name module_type control_flag module_path options Below is an example of the configuration file with support for authentication, account management, session management and password manage- ment modules. Note that the use of is mandatory for some of the services. For more information, see pam_hpsec(5). login auth required libpam_hpsec.so.1 debug login auth required libpam_unix.so.1 debug login session required libpam_hpsec.so.1 login session required libpam_unix.so.1 login account required libpam_hpsec.so.1 login account required libpam_unix.so.1 dtlogin auth required libpam_hpsec.so.1 dtlogin auth required libpam_unix.so.1 dtlogin session required libpam_hpsec.so.1 dtlogin session required libpam_unix.so.1 other auth required libpam_hpsec.so.1 other auth required libpam_unix.so.1 other account required libpam_hpsec.so.1 other account required libpam_unix.so.1 other session required libpam_hpsec.so.1 other session required libpam_unix.so.1 other password required libpam_hpsec.so.1 other password required libpam_unix.so.1 service_name The service_name denotes the service (for example, or The keyword, indicates the module all other applications which have not been specified should use. The keyword can also be used if all services of the same module_type have the same require- ments. In the example above, since all of the services use the same account management module, they could have been replaced by a single line. module_type module_type denotes the service module type: authentication (auth), account management (account), session management (ses- sion), or password management (password). control_flag The control_flag field determines the behavior of stacking, and will be discussed in more detail below. module_path The module_path field specifies the pathname to a shared library object which implements the service functionality. If the pathname is not absolute, it is assumed to be relative to The (i.e Instruction Set Architecture) token is replaced by the PAM engine (libpam) with for Itanium-based 32-bit modules, with null for PA-RISC 32-bit modules, with for Itanium-based 64-bit modules, or with for PA-RISC 64-bit modules. To accommodate backward compatibility to PA-RISC library naming conven- tion, appropriate links are provided in and Example: If a user-defined module is specified in or the above convention must be followed to create symbolic links pointing to PA-RISC modules. To help reduce the impact of any future file format changes, the only supported way of parsing is through the PAM library interfaces. These interfaces will transparently do any necessary expansion of reserved tokens, such as options The options field is used by the PAM framework layer to pass module-specific options to the modules. It is up to the module to parse and interpret the options. This field can be used by the modules to turn on debugging or to pass any module spe- cific parameters such as a value. It can also be used to support unified login. The options supported by the modules are documented in their respective manual pages. For example, pam_unix(5) lists the options accepted by the UNIX module. Integrating Multiple Authentication Services With Stacking When a service_name of the same module_type is defined more than once, the service is said to be stacked. Each module referenced in the module_path for that service is then processed in the order that it occurs in the configuration file. The control_flag field specifies the continuation and failure semantics of the modules, and may contain one of the following values: If the service module returns success, record the success and continue to process the PAM stack. If a failure is returned, and it is the first optional module failure, save the failure code as an optional failure. Continue to process the PAM stack. If the service module returns success, record the success and continue to process the PAM stack. If a failure is returned, and it is the first required failure, save the failure code as a required failure. Continue to process the PAM stack. If the service module returns success, record the success and continue to process the PAM stack. If a failure is returned, immediately return the first non-optional failure value recorded, without calling any subsequent modules. In other words, record this failure, unless a previous required service module failed. If a previous required service module failed, return the first of those values. If the service module returns success and no preceding required modules returned failures, immediately return success without calling any subsequent modules. If a failure is returned, treat the failure as an optional module failure, and continue to process the PAM stack. If no module fails and no module succeeds, the PAM stack runs to completion. In this case success is returned, providing no module failed and at least one or module succeeded. If no module succeeded and a module failed, the first of those errors is returned. If all modules return a default error based on module type is returned. If any entry in is incorrect, or if a module does not exist or cannot be opened, then all PAM services fail and users are not be permitted access to the system. An error will be logged through syslog(3C) at the level, and the PAM framework returns error to the application. Below is a sample configuration file that stacks the and services. login auth required libpam_hpsec.so.1 debug login auth required libpam_unix.so.1 debug login auth optional libpam_inhouse.so.1 dtlogin auth required libpam_hpsec.so.1 debug dtlogin auth sufficient libpam_unix.so.1 debug dtlogin auth required libpam_inhouse.so.1 In the case of the user is authenticated by the the UNIX, and inhouse authentication modules. The keyword for control_flag requires that the user be allowed to login only if the user is authenticated by the and the UNIX service modules. The inhouse authentication is optional by virtue of the keyword in the control_flag field. The user can still log in even if inhouse authentication fails, as long as and UNIX both successfully authenticate the user. In the case of the keyword for control_flag specifies that if the UNIX authentication check succeeds, then PAM should return success to The inhouse authentication module (the next module in the stack) will only be invoked if the UNIX authentication check fails. Configuration Per User contains information to configure all the users on a system. But sometimes it is necessary to configure user by user. A user policy defi- nition is made through a specific module named This module reads a file named which describes the user's configurations. Below is a sample configuration file that uses the module login auth required libpam_hpsec.so.1 login auth required libpam_updbe.so.1 login auth required libpam_unix.so.1 su auth required libpam_hpsec.so.1 su auth required libpam_updbe.so.1 su auth required libpam_unix.so.1 OTHER auth required libpam_hpsec.so.1 OTHER auth required libpam_unix.so.1 login password required libpam_hpsec.so.1 login password required libpam_updbe.so.1 login password required libpam_unix.so.1 passwd password required libpam_hpsec.so.1 passwd password required libpam_updbe.so.1 passwd password required libpam_unix.so.1 OTHER password required libpam_hpsec.so.1 OTHER password required libpam_unix.so.1 The module searches the configuration file and reads the configuration associated with the login name of the current user. If there is no configuration concerning the current user in the file, the PAM framework ignores the line containing applies for those users who are not configured in Notes If an error is found in an entry due to invalid service_name, module_type, or control_flag, then the entry is ignored. If there are no valid entries for the given module_type, the PAM framework returns an error to the application. EXAMPLES
The following is a sample configuration file. Lines that begin with the symbol are treated as comments, and therefore ignored. # # PAM configuration # # Authentication management for login service is stacked. # Both UNIX and inhouse authentication functions are invoked, # in addition to hpsec authentication functions. login auth required libpam_hpsec.so.1 login auth required libpam_unix.so.1 login auth required libpam_inhouse.so.1 try_first_pass dtlogin auth required libpam_hpsec.so.1 dtlogin auth required libpam_unix.so.1 dtlogin auth required libpam_inhouse.so.1 try_first_pass # # Other services use hpsec and UNIX authentication other auth required libpam_hpsec.so.1 other auth required libpam_unix.so.1 # # Account management for login service is stacked. # hpsec and UNIX account management are required; # inhouse account management is optional login account required libpam_hpsec.so.1 login account required libpam_unix.so.1 login account optional libpam_inhouse.so.1 dtlogin account required libpam_hpsec.so.1 dtlogin account required libpam_unix.so.1 dtlogin account optional libpam_inhouse.so.1 # # Other services use hpsec and UNIX account management other account required libpam_hpsec.so.1 other account required libpam_unix.so.1 # # Session management for login service is stacked. # hpsec and UNIX account management are required; login session required libpam_hpsec.so.1 login session required libpam_unix.so.1 dtlogin session required libpam_hpsec.so.1 dtlogin session required libpam_unix.so.1 # # Other services use hpsec and UNIX session management other session required libpam_hpsec.so.1 other session required libpam_unix.so.1 # # Password management other password required libpam_hpsec.so.1 other password required libpam_unix.so.1 The following is a sample configuration which uses the module to configure a user. Lines that begin with the symbol are treated as com- ments, and therefore ignored. # # PAM configuration # # Authentication management for login service is stacked. # Both UNIX and inhouse authentication functions are invoked, # in addition to hpsec authentication functions. login auth required libpam_hpsec.so.1 login auth required libpam_updbe.so.1 login auth required libpam_unix.so.1 login auth required libpam_inhouse.so.1 try_first_pass dtlogin auth required libpam_hpsec.so.1 dtlogin auth required libpam_updbe.so.1 dtlogin auth required libpam_unix.so.1 dtlogin auth required libpam_inhouse.so.1 try_first_pass # # Other services use hpsec and UNIX authentication other auth required pam_hpsec.so.1 other auth required pam_unix.so.1 # # Account management for login service is stacked. # hpsec and UNIX account management are required; # inhouse account management is optional login account required libpam_hpsec.so.1 login account required libpam_unix.so.1 login account optional libpam_inhouse.so.1 dtlogin account required libpam_hpsec.so.1 dtlogin account required libpam_unix.so.1 dtlogin account optional libpam_inhouse.so.1 other account required libpam_hpsec.so.1 other account required libpam_unix.so.1 # # Session management for login service is stacked. # hpsec and UNIX account management are required login session required libpam_hpsec.so.1 login session required libpam_unix.so.1 login session optional libpam_inhouse.so.1 dtlogin session required libpam_hpsec.so.1 dtlogin session required libpam_unix.so.1 dtlogin session optional libpam_inhouse.so.1 # # Other services use hpsec and UNIX session management other session required libpam_hpsec.so.1 other session required libpam_unix.so.1 # # Password management passwd password required libpam_hpsec.so.1 passwd password required libpam_updbe.so.1 passwd password required libpam_unix.so.1 other password required libpam_hpsec.so.1 other password required libpam_unix.so.1 Utilities and Files A list of utilities that are known to use PAM includes: and The PAM configuration file does not dictate either the name or the location of the service specific modules. The convention, however, is the following: Implements various functions of specific authentication services. Configuration file. Implements the 32-bit PAM framework library on Itanium-based systems. Implements the 64-bit PAM framework library on Itanium-based systems. Implements the 32-bit PAM framework library on PA-RISC. Implements the 64-bit PAM framework library on PA-RISC. SEE ALSO
dtlogin(1), login(1), passwd(1), su(1), pam(3), pam_hpsec(5). pam.conf(4)
Man Page

Featured Tech Videos