PAM_DHKEYS(7)        Standards, Environments, and Macros       PAM_DHKEYS(7)
NAME
       pam_dhkeys - authentication Diffie-Hellman keys management module
SYNOPSIS
       pam_dhkeys.so.1DESCRIPTION
       The 
pam_dhkeys.so.1 service module provides functionality to two 
PAM       services: Secure 
RPC authentication and Secure 
RPC authentication
       token management.
       Secure RPC authentication differs from regular unix authentication
       because some 
ONC RPCs use Secure RPC as the underlying security
       mechanism.
       The following options may be passed to the module:       
debug                 syslog(3C) debugging information at 
LOG_DEBUG level       
nowarn                 Turn off warning messages
   Authentication Services
       If the user has Diffie-Hellman keys, 
pam_sm_authenticate()       establishes secret keys for the user specified by the 
PAM_USER       (equivalent to running 
keylogin(1)), using the authentication token
       found in the 
PAM_AUTHTOK item. If 
pam_sm_setcred() is called with       
PAM_ESTABLISH_CRED and the user's secure 
RPC credentials need to be
       established, these credentials are set. This is equivalent to running       
keylogin(1).
       If the credentials could not be set and 
PAM_SILENT is not specified,
       a diagnostic message is displayed. If 
pam_setcred() is called with       
PAM_DELETE_CRED, the user's secure 
RPC credentials are unset. This is
       equivalent to running 
keylogout(1).       
PAM_REINITIALIZE_CRED and 
PAM_REFRESH_CRED are not supported and
       return 
PAM_IGNORE.
   Authentication Token Management
       The 
pam_sm_chauthtok() implementation checks whether the old login
       password decrypts the users secret keys. If it doesn't this module
       prompts the user for an old Secure 
RPC password and stores it in a
       pam data item called 
SUNW_OLDRPCPASS. This data item can be used by
       the store module to effectively update the users secret keys.
ERRORS
       The authentication service returns the following error codes:       
PAM_SUCCESS                           Credentials set successfully.       
PAM_IGNORE                           Credentials not needed to access the password
                           repository.       
PAM_USER_UNKNOWN                           PAM_USER is not set, or the user is unknown.       
PAM_AUTH_ERR                           No secret keys were set. 
PAM_AUTHTOK is not set,
                           no credentials are present or there is a wrong
                           password.       
PAM_BUF_ERR                           Module ran out of memory.       
PAM_SYSTEM_ERR                           Credentials could not be stored, or netname could
                           not be created.
       The authentication token management returns the following error
       codes:       
PAM_SUCCESS                           Old 
rpc password is set in 
SUNW_OLDRPCPASS       PAM_USER_UNKNOWN                           User in 
PAM_USER is unknown.       
PAM_AUTHTOK_ERR                           User did not provide a password that decrypts the
                           secret keys.       
PAM_BUF_ERR                           Module ran out of memory.
ATTRIBUTES
       See 
attributes(7) for descriptions of the following attributes:
       +--------------------+-------------------------+
       |  ATTRIBUTE TYPE    |     ATTRIBUTE VALUE     |
       +--------------------+-------------------------+
       |Interface Stability | Evolving                |
       +--------------------+-------------------------+
       |MT Level            | MT-Safe with exceptions |
       +--------------------+-------------------------+
SEE ALSO
       keylogin(1), 
keylogout(1), 
syslog(3C), 
libpam(3LIB), 
pam(3PAM),       
pam_authenticate(3PAM), 
pam_chauthtok(3PAM), 
pam_setcred(3PAM),       
pam_sm_authenticate(3PAM), 
pam_sm_chauthtok(3PAM),       
pam_sm_setcred(3PAM), 
pam.conf(5), 
attributes(7),       
pam_authtok_check(7), 
pam_authtok_get(7), 
pam_authtok_store(7),       
pam_passwd_auth(7), 
pam_unix_account(7), 
pam_unix_auth(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_unix_account(7), 
pam_unix_auth(7), and 
pam_unix_session(7).
                               August 19, 2023                 PAM_DHKEYS(7)