summaryrefslogtreecommitdiff
path: root/doc/man/pam_get_user.3
blob: 12cfaf4f0c8b61821b67f358d9425fac2e81c8d0 (plain)
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
'\" t
.\"     Title: pam_get_user
.\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
.\"      Date: 09/03/2021
.\"    Manual: Linux-PAM Manual
.\"    Source: Linux-PAM Manual
.\"  Language: English
.\"
.TH "PAM_GET_USER" "3" "09/03/2021" "Linux-PAM Manual" "Linux-PAM Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
pam_get_user \- get user name
.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <security/pam_modules\&.h>
.fi
.ft
.HP \w'int\ pam_get_user('u
.BI "int pam_get_user(const\ pam_handle_t\ *" "pamh" ", const\ char\ **" "user" ", const\ char\ *" "prompt" ");"
.SH "DESCRIPTION"
.PP
The
\fBpam_get_user\fR
function returns the name of the user specified by
\fBpam_start\fR(3)\&. If no user was specified it returns what
\fBpam_get_item (pamh, PAM_USER, \&.\&.\&. );\fR
would have returned\&. If this is NULL it obtains the username via the
\fBpam_conv\fR(3)
mechanism, it prompts the user with the first non\-NULL string in the following list:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
The
\fIprompt\fR
argument passed to the function\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
What is returned by pam_get_item (pamh, PAM_USER_PROMPT, \&.\&.\&. );
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
The default prompt: "login: "
.RE
.PP
By whatever means the username is obtained, a pointer to it is returned as the contents of
\fI*user\fR\&. Note, this memory should
\fBnot\fR
be
\fIfree()\fR\*(Aqd or
\fImodified\fR
by the module\&.
.PP
This function sets the
\fIPAM_USER\fR
item associated with the
\fBpam_set_item\fR(3)
and
\fBpam_get_item\fR(3)
functions\&.
.SH "RETURN VALUES"
.PP
PAM_SUCCESS
.RS 4
User name was successful retrieved\&.
.RE
.PP
PAM_SYSTEM_ERR
.RS 4
A NULL pointer was submitted\&.
.RE
.PP
PAM_CONV_ERR
.RS 4
The conversation method supplied by the application failed to obtain the username\&.
.RE
.PP
PAM_BUF_ERR
.RS 4
Memory buffer error\&.
.RE
.PP
PAM_ABORT
.RS 4
Error resuming an old conversation\&.
.RE
.PP
PAM_CONV_AGAIN
.RS 4
The conversation method supplied by the application is waiting for an event\&.
.RE
.SH "SEE ALSO"
.PP
\fBpam_end\fR(3),
\fBpam_get_item\fR(3),
\fBpam_set_item\fR(3),
\fBpam_strerror\fR(3)