pam_authtok_get(5)




NAME

     pam_authtok_get -  authentication  and  password  management
     module


SYNOPSIS

     pam_authtok_get.so.1


DESCRIPTION

     The pam_authtok_get service module provides password prompt-
     ing   funtionality   to   the   PAM   stack.  It  implements
     pam_sm_authenticate()  and   pam_sm_chauthtok(),   providing
     functionality to both the Authentication Stack and the Pass-
     word Management Stack.

  Authentication Service
     The implementation of pam_sm_authenticate(3PAM) prompts  the
     user  name  if not set and then tries to get the authentica-
     tion token from the pam handle. If the token is not set,  it
     then  prompts  the  user for a password and stores it in the
     PAM item PAM_AUTHTOK. This module is meant to be  the  first
     module on an authentication stack where users are to authen-
     ticate using a keyboard.

  Password Management Service
     Due to the nature  of  the  PAM  Password  Management  stack
     traversal  mechanism, the pam_sm_chauthtok(3PAM) function is
     called twice. Once with the PAM_PRELIM_CHECK flag,  and  one
     with the PAM_UPDATE_AUTHTOK flag.

     In the first  (PRELIM)  invocation,  the  implementation  of
     pam_sm_chauthtok(3PAM) moves the contents of the PAM_AUTHTOK
     (current authentication token) to PAM_OLDAUTHTOK, and subse-
     quentially  prompts  the  user  for a new password. This new
     password is stored in PAM_AUTHTOK.

     If a previous module has set PAM_AUTHTOK prior to the  invo-
     cation  of  pam_authtok_get,  this module turns into a NO-OP
     and immediately returns PAM_SUCCESS.

     In the second (UPDATE) invocation, the user is  prompted  to
     Re-enter  his  password. The pam_sm_chauthtok implementation
     verifies this reentered password with the password stored in
     PAM_AUTHTOK.  If  the  passwords  match,  the module returns
     PAM_SUCCESS.

     The following option can be passed to the module:

     debug syslog(3C)  debugging  information  at  the  LOG_DEBUG
           level


ERRORS


     The  authentication  service  returns  the  following  error
     codes:

     PAM_SUCCESS
           Successfully obtains authentication token

     PAM_SYSTEM_ERR
           Fails to retrieve username, username is NULL or empty

     The password management service returns the following  error
     codes:

     PAM_SUCCESS
           Successfully obtains authentication token

     PAM_AUTHTOK_ERR
           Authentication token manipulation error


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Interface Stability         | Evolving                    |
    |_____________________________|_____________________________|
    | MT Level                    | MT-Safe with exceptions     |
    |_____________________________|_____________________________|


SEE ALSO

     pam(3PAM), pam_authenticate(3PAM), syslog(3C), libpam(3LIB),
     pam.conf(4),       attributes(5),      pam_authtok_check(5),
     pam_authtok_get(5),   pam_authtok_store(5),   pam_dhkeys(5),
     pam_passwd_auth(5),     pam_unix(5),    pam_unix_account(5),
     pam_unix_auth(5), pam_unix_session(5)


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(5) module might not be supported  in  a  future
     release.    Similar    functionality    is    provided    by
     pam_authtok_check(5),                    pam_authtok_get(5),
     pam_authtok_store(5),   pam_dhkeys(5),   pam_passwd_auth(5),
     pam_unix_account(5),          pam_unix_auth(5),          and
     pam_unix_session(5).


Man(1) output converted with man2html