pam_get_user(3)

pam_get_user3

Retrieve user name

Usage

#include <sys/types.h>

#include <security/pam_appl.h>

int

pam_get_user(pam_handle_t *pamh, const char **user, const char *prompt);

Overview

The pam_get_user() function returns the name of the target user, as specified to pam_start(3). If no user was specified, nor set using pam_set_item(3), pam_get_user() will prompt for a user name. Either way, a pointer to the user name is stored in the location pointed to by the user argument, and the corresponding PAM item is updated.

The prompt argument specifies a prompt to use if no user name is cached. If it is NULL, the PAM_USER_PROMPT item will be used. If that item is also NULL, a hardcoded default prompt will be used. Additionally, when pam_get_user() is called from a service module, the prompt may be affected by module options as described below. The prompt is then expanded using openpam_subst(3) before it is passed to the conversation function.

Options

When called by a service module, pam_get_user() will recognize the following module options:

user_prompt

Prompt to use when asking for the user name. This option overrides both the prompt argument and the PAM_USER_PROMPT item.

Return values

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

[PAM_SUCCESS]

Success.

[PAM_BAD_ITEM]

Unrecognized or restricted item.

[PAM_BUF_ERR]

Memory buffer error.

[PAM_CONV_ERR]

Conversation failure.

[PAM_SYSTEM_ERR]

System error.

Releases

56 releases since FreeBSD 5.0-RELEASE; the text changed 15 times.

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

Standards

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

Authors

The pam_get_user() 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.