NAME
pam_get_user
—
retrieve user name
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
Thepam_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.
MODULE 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.
SEE ALSO
openpam_get_option(3), openpam_subst(3), pam(3), pam_conv(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.
The OpenPAM library is maintained by Dag-Erling Smørgrav <des@des.no>.