1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
4 <refentry id='pam_sm_authenticate'>
6 <refentrytitle>pam_sm_authenticate</refentrytitle>
7 <manvolnum>3</manvolnum>
8 <refmiscinfo class='setdesc'>Linux-PAM Manual</refmiscinfo>
11 <refnamediv id="pam_sm_authenticate-name">
12 <refname>pam_sm_authenticate</refname>
13 <refpurpose>PAM service function for user authentication</refpurpose>
16 <!-- body begins here -->
18 <refsynopsisdiv id='pam_sm_authenticate-synopsis'>
20 <funcsynopsisinfo>#define PAM_SM_AUTH</funcsynopsisinfo>
21 <funcsynopsisinfo>#include <security/pam_modules.h></funcsynopsisinfo>
23 <funcdef>PAM_EXTERN int <function>pam_sm_authenticate</function></funcdef>
24 <paramdef>pam_handle_t *<parameter>pamh</parameter></paramdef>
25 <paramdef>int <parameter>flags</parameter></paramdef>
26 <paramdef>int <parameter>argc</parameter></paramdef>
27 <paramdef>const char **<parameter>argv</parameter></paramdef>
33 <refsect1 id='pam_sm_authenticate-description'>
34 <title>DESCRIPTION</title>
36 The <function>pam_sm_authenticate</function> function is the service
37 module's implementation of the
39 <refentrytitle>pam_authenticate</refentrytitle><manvolnum>3</manvolnum>
40 </citerefentry> interface.
43 This function performs the task of authenticating the user.
46 Valid flags, which may be logically OR'd with
47 <emphasis>PAM_SILENT</emphasis>, are:
51 <term>PAM_SILENT</term>
54 Do not emit any messages.
59 <term>PAM_DISALLOW_NULL_AUTHTOK</term>
62 Return <emphasis remap='B'>PAM_AUTH_ERR</emphasis> if the
63 database of authentication tokens for this authentication
64 mechanism has a <emphasis>NULL</emphasis> entry for the user.
65 Without this flag, such a <emphasis>NULL</emphasis> token
66 will lead to a success without the user being prompted.
73 <refsect1 id="pam_sm_authenticate-return_values">
74 <title>RETURN VALUES</title>
77 <term>PAM_AUTH_ERR</term>
80 Authentication failure.
85 <term>PAM_CRED_INSUFFICIENT</term>
88 For some reason the application does not have sufficient
89 credentials to authenticate the user.
94 <term>PAM_AUTHINFO_UNAVAIL</term>
97 The modules were not able to access the authentication
98 information. This might be due to a network or hardware
104 <term>PAM_SUCCESS</term>
107 The authentication token was successfully updated.
112 <term>PAM_USER_UNKNOWN</term>
115 The supplied username is not known to the authentication
121 <term>PAM_MAXTRIES</term>
124 One or more of the authentication modules has reached its
125 limit of tries authenticating the user. Do not try again.
132 <refsect1 id='pam_sm_authenticate-see_also'>
133 <title>SEE ALSO</title>
136 <refentrytitle>pam</refentrytitle><manvolnum>3</manvolnum>
139 <refentrytitle>pam_authenticate</refentrytitle><manvolnum>3</manvolnum>
142 <refentrytitle>pam_sm_setcred</refentrytitle><manvolnum>3</manvolnum>
145 <refentrytitle>pam_strerror</refentrytitle><manvolnum>3</manvolnum>
148 <refentrytitle>PAM</refentrytitle><manvolnum>8</manvolnum>