PAM_AUTHENTICATE(3)

  .SH "NAME" pam_authenticate - account authentication
  .SH "SYNOPSIS"

#include <security/pam_appl.h>

      .HP u int pam_authenticate(pam_handle_t *pamh, int flags);

  .SH "DESCRIPTION"

    .PP 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.
    .PP The PAM service module may request that the user enter their username via the conversation mechanism (see pam_start(3) and pam_conv(3)). 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).
    .PP 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:

      .PP PAM_SILENT

               Do not emit any messages.

          .RE
          .PP PAM_DISALLOW_NULL_AUTHTOK

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

              .RE

          .SH "RETURN VALUES"

              .PP PAM_ABORT

                      The application should exit immediately after calling pam_end(3) first.

                  .RE
                  .PP PAM_AUTH_ERR

                          The user was not authenticated.

                      .RE
                      .PP PAM_CRED_INSUFFICIENT

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

                          .RE
                          .PP PAM_AUTHINFO_UNAVAIL

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

                              .RE
                              .PP PAM_MAXTRIES

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

                                  .RE
                                  .PP PAM_SUCCESS

                                           The user was successfully authenticated.

                                      .RE
                                      .PP PAM_USER_UNKNOWN

                                              User unknown to authentication service.

                                          .RE

                                      .SH "SEE ALSO"

                                        .PP pam_start(3), pam_setcred(3), pam_chauthtok(3), pam_strerror(3), pam(8)