xref: /illumos-gate/usr/src/man/man3lib/libpam.3lib (revision cbea7aca3fd7787405cbdbd93752998f03dfc25f)
1*cbea7acaSDominik Hassler.\" The contents of this file are subject to the terms of the Common
2*cbea7acaSDominik Hassler.\" Development and Distribution License (the "License").  You may not use
3*cbea7acaSDominik Hassler.\" this file except in compliance with the License.
4*cbea7acaSDominik Hassler.\"
5*cbea7acaSDominik Hassler.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or
6*cbea7acaSDominik Hassler.\" http://www.opensolaris.org/os/licensing.  See the License for the
7*cbea7acaSDominik Hassler.\" specific language governing permissions and limitations under the
8*cbea7acaSDominik Hassler.\" License.
9*cbea7acaSDominik Hassler.\"
10*cbea7acaSDominik Hassler.\" When distributing Covered Code, include this CDDL HEADER in each file
11*cbea7acaSDominik Hassler.\" and include the License file at usr/src/OPENSOLARIS.LICENSE.  If
12*cbea7acaSDominik Hassler.\" applicable, add the following below this CDDL HEADER, with the fields
13*cbea7acaSDominik Hassler.\" enclosed by brackets "[]" replaced with your own identifying
14*cbea7acaSDominik Hassler.\" information: Portions Copyright [yyyy] [name of copyright owner]
15*cbea7acaSDominik Hassler.\"
16c10c16deSRichard Lowe.\" Copyright (c) 2004, Sun Microsystems, Inc.  All Rights Reserved.
17*cbea7acaSDominik Hassler.\" Copyright 2023 OmniOS Community Edition (OmniOSce) Association.
18*cbea7acaSDominik Hassler.\"
19*cbea7acaSDominik Hassler.Dd July 6, 2024
20*cbea7acaSDominik Hassler.Dt LIBPAM 3LIB
21*cbea7acaSDominik Hassler.Os
22*cbea7acaSDominik Hassler.Sh NAME
23*cbea7acaSDominik Hassler.Nm libpam
24*cbea7acaSDominik Hassler.Nd PAM (Pluggable Authentication Module) library
25*cbea7acaSDominik Hassler.Sh LIBRARY
26*cbea7acaSDominik Hassler.Lb libpam
27*cbea7acaSDominik Hassler.Sh SYNOPSIS
28*cbea7acaSDominik Hassler.In security/pam_appl.h
29*cbea7acaSDominik Hassler.Sh DESCRIPTION
30c10c16deSRichard LoweFunctions in this library provide routines for the Pluggable Authentication
31*cbea7acaSDominik HasslerModule
32*cbea7acaSDominik Hassler.Pq PAM .
33*cbea7acaSDominik Hassler.Pp
34*cbea7acaSDominik HasslerVarious PAM implementations have disagreed on whether certain parts of the
35*cbea7acaSDominik Hasslerfunction signatures for the
36*cbea7acaSDominik Hassler.Fn pam_get_item
37*cbea7acaSDominik Hasslerand
38*cbea7acaSDominik Hassler.Fn pam_get_user
39*cbea7acaSDominik Hasslerfunctions, as well as parts of the
40*cbea7acaSDominik Hassler.Vt pam_conv
41*cbea7acaSDominik Hasslerstructure, used the
42*cbea7acaSDominik Hassler.Sy const
43*cbea7acaSDominik Hasslerqualifier.
44*cbea7acaSDominik HasslerHistorically illumos did not; however this was changed to align with other
45*cbea7acaSDominik Hasslercommon implementations
46*cbea7acaSDominik Hassler.Po
47*cbea7acaSDominik Hasslere.g. the Linux PAM project and various *BSDs
48*cbea7acaSDominik Hassler.Pc .
49*cbea7acaSDominik HasslerIf necessary the non-const definitions of these types can be selected by
50*cbea7acaSDominik Hasslerdefining the macro
51*cbea7acaSDominik Hassler.Dv _PAM_LEGACY_NONCONST
52*cbea7acaSDominik Hasslerprior to including
53*cbea7acaSDominik Hassler.In security/pam_appl.h .
54*cbea7acaSDominik Hassler.Sh INTERFACES
55*cbea7acaSDominik HasslerThe shared object
56*cbea7acaSDominik Hassler.Sy libmap.so.1
57*cbea7acaSDominik Hasslerprovides the public interfaces defined below.
58*cbea7acaSDominik HasslerSee
59*cbea7acaSDominik Hassler.Xr Intro 3
60*cbea7acaSDominik Hasslerfor additional information on shared object interfaces.
61*cbea7acaSDominik Hassler.Bl -column -offset indent "pam_close_session" "pam_close_session"
62*cbea7acaSDominik Hassler.It Sy pam_acct_mgmt Ta Sy pam_authenticate
63*cbea7acaSDominik Hassler.It Sy pam_chauthtok Ta Sy pam_close_session
64*cbea7acaSDominik Hassler.It Sy pam_end Ta Sy pam_get_data
65*cbea7acaSDominik Hassler.It Sy pam_get_item Ta Sy pam_get_user
66*cbea7acaSDominik Hassler.It Sy pam_getenv Ta Sy pam_getenvlist
67*cbea7acaSDominik Hassler.It Sy pam_open_session Ta Sy pam_putenv
68*cbea7acaSDominik Hassler.It Sy pam_set_data Ta Sy pam_set_item
69*cbea7acaSDominik Hassler.It Sy pam_setcred Ta Sy pam_start
70*cbea7acaSDominik Hassler.It Sy pam_strerror Ta
71*cbea7acaSDominik Hassler.El
72*cbea7acaSDominik Hassler.Sh FILES
73*cbea7acaSDominik Hassler.Bl -tag -width Ds
74*cbea7acaSDominik Hassler.It Pa /lib/libpam.so.1
75*cbea7acaSDominik Hassler32-bit shared object
76*cbea7acaSDominik Hassler.It Pa /lib/64/libpam.so.1
77*cbea7acaSDominik Hassler64-bit shared object
78*cbea7acaSDominik Hassler.It Pa /etc/pam.conf
79c10c16deSRichard Loweconfiguration file
80*cbea7acaSDominik Hassler.It Pa /usr/lib/security/pam_dial_auth.so.1
81*cbea7acaSDominik Hasslerauthentication management PAM module for dialups
82*cbea7acaSDominik Hassler.It Pa /usr/lib/security/pam_rhosts_auth.so.1
83*cbea7acaSDominik Hasslerauthentication management PAM modules that use
84*cbea7acaSDominik Hassler.Fn ruserok
85*cbea7acaSDominik Hassler.It Pa /usr/lib/security/pam_sample.so.1
86*cbea7acaSDominik Hasslersample PAM module
87*cbea7acaSDominik Hassler.El
88*cbea7acaSDominik Hassler.Sh INTERFACE STABILITY
89*cbea7acaSDominik Hassler.Sy Committed
90*cbea7acaSDominik Hassler.Sh MT-LEVEL
91*cbea7acaSDominik Hassler.Sy MT-Safe-with-exceptions
92*cbea7acaSDominik Hassler.Sh SEE ALSO
93*cbea7acaSDominik Hassler.Xr pvs 1 ,
94*cbea7acaSDominik Hassler.Xr Intro 3 ,
95*cbea7acaSDominik Hassler.Xr pam 3PAM ,
96*cbea7acaSDominik Hassler.Xr pam.conf 5 ,
97*cbea7acaSDominik Hassler.Xr attributes 7 ,
98*cbea7acaSDominik Hassler.Xr pam_authtok_check 7 ,
99*cbea7acaSDominik Hassler.Xr pam_authtok_get 7 ,
100*cbea7acaSDominik Hassler.Xr pam_authtok_store 7 ,
101*cbea7acaSDominik Hassler.Xr pam_dhkeys 7 ,
102*cbea7acaSDominik Hassler.Xr pam_dial_auth 7 ,
103*cbea7acaSDominik Hassler.Xr pam_passwd_auth 7 ,
104*cbea7acaSDominik Hassler.Xr pam_rhosts_auth 7 ,
105*cbea7acaSDominik Hassler.Xr pam_sample 7 ,
106*cbea7acaSDominik Hassler.Xr pam_unix_account 7 ,
107*cbea7acaSDominik Hassler.Xr pam_unix_auth 7 ,
108*cbea7acaSDominik Hassler.Xr pam_unix_session 7
109*cbea7acaSDominik Hassler.Sh NOTES
110*cbea7acaSDominik HasslerThe functions in
111*cbea7acaSDominik Hassler.Nm
112*cbea7acaSDominik Hasslerare MT-Safe only if each thread within the multithreaded application uses its
113*cbea7acaSDominik Hasslerown PAM handle.
114*cbea7acaSDominik Hassler.Pp
115*cbea7acaSDominik HasslerThe
116*cbea7acaSDominik Hassler.Sy pam_unix
117*cbea7acaSDominik Hasslermodule is no longer supported.
118*cbea7acaSDominik HasslerSimilar functionality is provided by
119*cbea7acaSDominik Hassler.Xr pam_authtok_check 7 ,
120*cbea7acaSDominik Hassler.Xr pam_authtok_get 7 ,
121*cbea7acaSDominik Hassler.Xr pam_authtok_store 7 ,
122*cbea7acaSDominik Hassler.Xr pam_dhkeys 7 ,
123*cbea7acaSDominik Hassler.Xr pam_passwd_auth 7 ,
124*cbea7acaSDominik Hassler.Xr pam_unix_account 7 ,
125*cbea7acaSDominik Hassler.Xr pam_unix_auth 7 ,
126*cbea7acaSDominik Hasslerand
127*cbea7acaSDominik Hassler.Xr pam_unix_session 7 .
128