# PAM_AUTHENTICATE(3) - man - phpMan

[PAM_AUTHENTICATE(3)](https://www.chedong.com/phpMan.php/man/PAMAUTHENTICATE/3/markdown)                       Linux-PAM Manual                       [PAM_AUTHENTICATE(3)](https://www.chedong.com/phpMan.php/man/PAMAUTHENTICATE/3/markdown)



## NAME
       pam_authenticate - account authentication

## SYNOPSIS
       **#include** **<security/pam**___**appl.h>**

       **int** **pam**___**authenticate(pam**___**handle**___**t** *****_pamh_**,** **int** _flags_**);**

## DESCRIPTION
       The **pam**___**authenticate** function is used to authenticate the user. The user is required to
       provide an authentication token depending upon the authentication service, usually this is a
       password, but could also be a finger print.

       The PAM service module may request that the user enter their username via the conversation
       mechanism (see **pam**___**[start**(3)](https://www.chedong.com/phpMan.php/man/start/3/markdown) and **pam**___**[conv**(3)](https://www.chedong.com/phpMan.php/man/conv/3/markdown)). The name of the authenticated user will be
       present in the PAM item PAM_USER. This item may be recovered with a call to **pam**___**get**___**[item**(3)](https://www.chedong.com/phpMan.php/man/item/3/markdown).

       The _pamh_ argument is an authentication handle obtained by a prior call to pam_start(). The
       flags argument is the binary or of zero or more of the following values:

       PAM_SILENT
           Do not emit any messages.

       PAM_DISALLOW_NULL_AUTHTOK
           The PAM module service should return PAM_AUTH_ERR if the user does not have a registered
           authentication token.

## RETURN VALUES
       PAM_ABORT
           The application should exit immediately after calling **pam**___**[end**(3)](https://www.chedong.com/phpMan.php/man/end/3/markdown) first.

       PAM_AUTH_ERR
           The user was not authenticated.

       PAM_CRED_INSUFFICIENT
           For some reason the application does not have sufficient credentials to authenticate the
           user.

       PAM_AUTHINFO_UNAVAIL
           The modules were not able to access the authentication information. This might be due to
           a network or hardware failure etc.

       PAM_MAXTRIES
           One or more of the authentication modules has reached its limit of tries authenticating
           the user. Do not try again.

       PAM_SUCCESS
           The user was successfully authenticated.

       PAM_USER_UNKNOWN
           User unknown to authentication service.

## SEE ALSO
       **pam**___**[start**(3)](https://www.chedong.com/phpMan.php/man/start/3/markdown), **pam**___**[setcred**(3)](https://www.chedong.com/phpMan.php/man/setcred/3/markdown), **pam**___**[chauthtok**(3)](https://www.chedong.com/phpMan.php/man/chauthtok/3/markdown), **pam**___**[strerror**(3)](https://www.chedong.com/phpMan.php/man/strerror/3/markdown), [**pam**(7)](https://www.chedong.com/phpMan.php/man/pam/7/markdown)



Linux-PAM Manual                             06/08/2020                          [PAM_AUTHENTICATE(3)](https://www.chedong.com/phpMan.php/man/PAMAUTHENTICATE/3/markdown)
