PAM_GET_USER(3)

NAME
pam_get_user - retrieve user name

LIBRARY
libpam

SYNOPSIS
#include <sys/types.h>
#include <security/pam_appl.h>
int
pam_get_user(pam_handle_t *pamh, const char **user, const char *prompt);

DESCRIPTION
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.

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. Either way, the prompt is expanded using openpam_subst(3) before it is passed to the conversation function.

If pam_get_user() is called from a module and the user_prompt option is set in the policy file, the value of that option takes precedence over both the prompt argument and the PAM_USER_PROMPT item.

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

[PAM_BUF_ERR]
    Memory buffer error.

[PAM_CONV_ERR]
    Conversation failure.

[PAM_SYSTEM_ERR]
    System error.

SEE ALSO
openpam_subst(3), pam(3), pam_get_authtok(3), pam_get_item(3), pam_set_item(3), pam_start(3), pam_strerror(3)

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.