.\" Title: pam_sm_authenticate
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1
.\" Date: 06/27/2006
.\" Manual: Linux\-PAM Manual
.\" Source: Linux\-PAM Manual
.\"
.TH "PAM_SM_AUTHENTICATE" "3" "06/27/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "NAME"
pam_sm_authenticate \- PAM service function for user authentication
.SH "SYNOPSIS"
.sp
.ft B
.nf
#define PAM_SM_AUTH
.fi
.ft
.sp
.ft B
.nf
#include
.fi
.ft
.HP 35
.BI "PAM_EXTERN int pam_sm_authenticate(pam_handle_t\ *" "pamh" ", int\ " "flags" ", int\ " "argc" ", const\ char\ **" "argv" ");"
.SH "DESCRIPTION"
.PP
The
\fBpam_sm_authenticate\fR
function is the service module's implementation of the
\fBpam_authenticate\fR(3)
interface.
.PP
This function performs the task of authenticating the user.
.PP
Valid flags, which may be logically OR'd with
\fIPAM_SILENT\fR, are:
.TP 3n
PAM_SILENT
Do not emit any messages.
.TP 3n
PAM_DISALLOW_NULL_AUTHTOK
Return
\fBPAM_AUTH_ERR\fR
if the database of authentication tokens for this authentication mechanism has a
\fINULL\fR
entry for the user. Without this flag, such a
\fINULL\fR
token will lead to a success without the user being prompted.
.SH "RETURN VALUES"
.TP 3n
PAM_AUTH_ERR
Authentication failure.
.TP 3n
PAM_CRED_INSUFFICIENT
For some reason the application does not have sufficient credentials to authenticate the user.
.TP 3n
PAM_AUTHINFO_UNAVAIL
The modules were not able to access the authentication information. This might be due to a network or hardware failure etc.
.TP 3n
PAM_SUCCESS
The authentication token was successfully updated.
.TP 3n
PAM_USER_UNKNOWN
The supplied username is not known to the authentication service.
.TP 3n
PAM_MAXTRIES
One or more of the authentication modules has reached its limit of tries authenticating the user. Do not try again.
.SH "SEE ALSO"
.PP
\fBpam\fR(3),
\fBpam_authenticate\fR(3),
\fBpam_sm_setcred\fR(3),
\fBpam_strerror\fR(3),
\fBPAM\fR(8)