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