1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
.\" Generated from pam_get_user.c by gendoc.pl
.\" $Id: pam_get_user.c 670 2013-03-17 19:26:07Z des $
.Dd September 12, 2014
.Dt PAM_GET_USER 3
.Os
.Sh NAME
.Nm pam_get_user
.Nd retrieve user name
.Sh LIBRARY
.Lb libpam
.Sh SYNOPSIS
.In sys/types.h
.In security/pam_appl.h
.Ft "int"
.Fn pam_get_user "pam_handle_t *pamh" "const char **user" "const char *prompt"
.Sh DESCRIPTION
The
.Fn pam_get_user
function returns the name of the target user, as
specified to
.Xr pam_start 3 .
If no user was specified, nor set using
.Xr pam_set_item 3 ,
.Fn 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
.Fa user
argument, and the corresponding PAM item is
updated.
.Pp
The
.Fa prompt
argument specifies a prompt to use if no user name is
cached.
If it is
.Dv NULL ,
the
.Dv PAM_USER_PROMPT
item will be used.
If that item is also
.Dv NULL ,
a hardcoded default prompt will be used.
Additionally, when
.Fn 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
.Xr openpam_subst 3
before it is passed to
the conversation function.
.Sh MODULE OPTIONS
When called by a service module,
.Fn pam_get_user
will recognize the
following module options:
.Bl -tag -width 18n
.It Dv user_prompt
Prompt to use when asking for the user name.
This option overrides both the
.Fa prompt
argument and the
.Dv PAM_USER_PROMPT
item.
.El
.Sh RETURN VALUES
The
.Fn pam_get_user
function returns one of the following values:
.Bl -tag -width 18n
.It Bq Er PAM_BUF_ERR
Memory buffer error.
.It Bq Er PAM_CONV_ERR
Conversation failure.
.It Bq Er PAM_SYSTEM_ERR
System error.
.El
.Sh SEE ALSO
.Xr openpam_get_option 3 ,
.Xr openpam_subst 3 ,
.Xr pam 3 ,
.Xr pam_conv 3 ,
.Xr pam_get_authtok 3 ,
.Xr pam_get_item 3 ,
.Xr pam_set_item 3 ,
.Xr pam_start 3 ,
.Xr pam_strerror 3
.Sh STANDARDS
.Rs
.%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules"
.%D "June 1997"
.Re
.Sh AUTHORS
The
.Fn pam_get_user
function and this manual page were
developed for the
.Fx
Project by ThinkSec AS and Network Associates Laboratories, the
Security Research Division of Network Associates, Inc.\& under
DARPA/SPAWAR contract N66001-01-C-8035
.Pq Dq CBOSS ,
as part of the DARPA CHATS research program.
.Pp
The OpenPAM library is maintained by
.An Dag-Erling Sm\(/orgrav Aq des@des.no .
|