pam_authenticate(3)

pam_authenticate3

Perform authentication within the pam framework

Usage

#include <sys/types.h>

#include <security/pam_appl.h>

int

pam_authenticate(pam_handle_t *pamh, int flags);

Overview

The pam_authenticate() function attempts to authenticate the user associated with the pam context specified by the pamh argument.

The application is free to call pam_authenticate() as many times as it wishes, but some modules may maintain an internal retry counter and return PAM_MAXTRIES when it exceeds some preset or hardcoded limit.

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

Fail if the user's authentication token is null.

If any other bits are set, pam_authenticate() will return PAM_BAD_CONSTANT.

Return values

The pam_authenticate() function returns one of the following values:

[PAM_SUCCESS]

Success.

[PAM_ABORT]

General failure.

[PAM_AUTHINFO_UNAVAIL]

Authentication information is unavailable.

[PAM_AUTH_ERR]

Authentication error.

[PAM_BAD_CONSTANT]

Bad constant.

[PAM_BUF_ERR]

Memory buffer error.

[PAM_CONV_ERR]

Conversation failure.

[PAM_CRED_INSUFFICIENT]

Insufficient credentials.

[PAM_MAXTRIES]

Maximum number of tries exceeded.

[PAM_PERM_DENIED]

Permission denied.

[PAM_SERVICE_ERR]

Error in service module.

[PAM_SYSTEM_ERR]

System error.

[PAM_USER_UNKNOWN]

Unknown user.

Releases

76 releases since FreeBSD 3.1-RELEASE; the text changed 17 times.

  1. 3.1–4.3
  2. 4.4–4.11
  3. 5.0
  4. 5.1
  5. 5.2–5.2.1
  6. 5.3–5.5
  7. 6.0–6.3
  8. 6.4
  9. 7.0
  10. 7.1–9.1
  11. 9.2
  12. 9.3–10.0
  13. 10.1–11.2
  14. 11.3–11.4
  15. 12.0–12.2
  16. 12.3–13.2
  17. 13.3–14.5
  18. 15.0–16.0

Standards

X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules, June 1997.

Authors

The pam_authenticate() function and this manual page were developed for the FreeBSD Project by ThinkSec AS and Network Associates Laboratories, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 (“CBOSS”), as part of the DARPA CHATS research program.

The OpenPAM library is maintained by Dag-Erling Smørgrav ⟨[email protected]⟩.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.