1*ade90846SJoerg Sonnenberger.\"- 2*ade90846SJoerg Sonnenberger.\" Copyright (c) 2005 Dag-Erling Co�dan Sm�rgrav 3*ade90846SJoerg Sonnenberger.\" All rights reserved. 4*ade90846SJoerg Sonnenberger.\" 5*ade90846SJoerg Sonnenberger.\" Redistribution and use in source and binary forms, with or without 6*ade90846SJoerg Sonnenberger.\" modification, are permitted provided that the following conditions 7*ade90846SJoerg Sonnenberger.\" are met: 8*ade90846SJoerg Sonnenberger.\" 1. Redistributions of source code must retain the above copyright 9*ade90846SJoerg Sonnenberger.\" notice, this list of conditions and the following disclaimer. 10*ade90846SJoerg Sonnenberger.\" 2. Redistributions in binary form must reproduce the above copyright 11*ade90846SJoerg Sonnenberger.\" notice, this list of conditions and the following disclaimer in the 12*ade90846SJoerg Sonnenberger.\" documentation and/or other materials provided with the distribution. 13*ade90846SJoerg Sonnenberger.\" 3. The name of the author may not be used to endorse or promote 14*ade90846SJoerg Sonnenberger.\" products derived from this software without specific prior written 15*ade90846SJoerg Sonnenberger.\" permission. 16*ade90846SJoerg Sonnenberger.\" 17*ade90846SJoerg Sonnenberger.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 18*ade90846SJoerg Sonnenberger.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19*ade90846SJoerg Sonnenberger.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20*ade90846SJoerg Sonnenberger.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 21*ade90846SJoerg Sonnenberger.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22*ade90846SJoerg Sonnenberger.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23*ade90846SJoerg Sonnenberger.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24*ade90846SJoerg Sonnenberger.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25*ade90846SJoerg Sonnenberger.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26*ade90846SJoerg Sonnenberger.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27*ade90846SJoerg Sonnenberger.\" SUCH DAMAGE. 28*ade90846SJoerg Sonnenberger.\" 29*ade90846SJoerg Sonnenberger.\" $P4: //depot/projects/openpam/doc/man/pam.conf.5#2 $ 30*ade90846SJoerg Sonnenberger.\" 31*ade90846SJoerg Sonnenberger.Dd June 9, 2005 32*ade90846SJoerg Sonnenberger.Dt PAM.CONF 5 33*ade90846SJoerg Sonnenberger.Os 34*ade90846SJoerg Sonnenberger.Sh NAME 35*ade90846SJoerg Sonnenberger.Nm pam.conf 36*ade90846SJoerg Sonnenberger.Nd PAM policy file format 37*ade90846SJoerg Sonnenberger.Sh DESCRIPTION 38*ade90846SJoerg SonnenbergerThe PAM library searches for policies in the following files, in 39*ade90846SJoerg Sonnenbergerdecreasing order of preference: 40*ade90846SJoerg Sonnenberger.Bl -enum 41*ade90846SJoerg Sonnenberger.It 42*ade90846SJoerg Sonnenberger.Pa /etc/pam.d/ Ns Ar service-name 43*ade90846SJoerg Sonnenberger.It 44*ade90846SJoerg Sonnenberger.Pa /etc/pam.conf 45*ade90846SJoerg Sonnenberger.It 46*ade90846SJoerg Sonnenberger.Pa /usr/local/etc/pam.d/ Ns Ar service-name 47*ade90846SJoerg Sonnenberger.It 48*ade90846SJoerg Sonnenberger.Pa /usr/local/etc/pam.conf 49*ade90846SJoerg Sonnenberger.El 50*ade90846SJoerg Sonnenberger.Pp 51*ade90846SJoerg SonnenbergerIf none of these locations contains a policy for the given service, 52*ade90846SJoerg Sonnenbergerthe 53*ade90846SJoerg Sonnenberger.Dv default 54*ade90846SJoerg Sonnenbergerpolicy is used instead, if it exists. 55*ade90846SJoerg Sonnenberger.Pp 56*ade90846SJoerg SonnenbergerEntries in per-service policy files must be of one of the two forms 57*ade90846SJoerg Sonnenbergerbelow: 58*ade90846SJoerg Sonnenberger.Bd -unfilled -offset indent 59*ade90846SJoerg Sonnenberger.Ar function-class Ar control-flag Ar module-path Op Ar arguments ... 60*ade90846SJoerg Sonnenberger.Ar function-class Cm include Ar other-service-name 61*ade90846SJoerg Sonnenberger.Ed 62*ade90846SJoerg Sonnenberger.Pp 63*ade90846SJoerg SonnenbergerEntries in 64*ade90846SJoerg Sonnenberger.Pa pam.conf Ns -style 65*ade90846SJoerg Sonnenbergerpolicy files are of the same form, but are prefixed by an additional 66*ade90846SJoerg Sonnenbergerfield specifying the name of the service they apply to. 67*ade90846SJoerg Sonnenberger.Pp 68*ade90846SJoerg SonnenbergerIn both types of policy files, blank lines are ignored, as is anything 69*ade90846SJoerg Sonnenbergerto the right of a `#' sign. 70*ade90846SJoerg Sonnenberger.Pp 71*ade90846SJoerg SonnenbergerThe 72*ade90846SJoerg Sonnenberger.Ar function-class 73*ade90846SJoerg Sonnenbergerfield specifies the class of functions the entry applies to, and is 74*ade90846SJoerg Sonnenbergerone of: 75*ade90846SJoerg Sonnenberger.Bl -tag -width "password" 76*ade90846SJoerg Sonnenberger.It Cm auth 77*ade90846SJoerg SonnenbergerAuthentication functions 78*ade90846SJoerg Sonnenberger.Po 79*ade90846SJoerg Sonnenberger.Xr pam_authenticate 3 , 80*ade90846SJoerg Sonnenberger.Xr pam_setcred 3 81*ade90846SJoerg Sonnenberger.Pc 82*ade90846SJoerg Sonnenberger.It Cm account 83*ade90846SJoerg SonnenbergerAccount management functions 84*ade90846SJoerg Sonnenberger.Pq Xr pam_acct_mgmt 3 85*ade90846SJoerg Sonnenberger.It Cm session 86*ade90846SJoerg SonnenbergerSession handling functions 87*ade90846SJoerg Sonnenberger.Po 88*ade90846SJoerg Sonnenberger.Xr pam_open_session 3 , 89*ade90846SJoerg Sonnenberger.Xr pam_close_session 3 90*ade90846SJoerg Sonnenberger.Pc 91*ade90846SJoerg Sonnenberger.It Cm password 92*ade90846SJoerg SonnenbergerPassword management functions 93*ade90846SJoerg Sonnenberger.Pq Xr pam_chauthtok 3 94*ade90846SJoerg Sonnenberger.El 95*ade90846SJoerg Sonnenberger.Pp 96*ade90846SJoerg SonnenbergerThe 97*ade90846SJoerg Sonnenberger.Ar control-flag 98*ade90846SJoerg Sonnenbergerfield determines how the result returned by the module affects the 99*ade90846SJoerg Sonnenbergerflow of control through (and the final result of) the rest of the 100*ade90846SJoerg Sonnenbergerchain, and is one of: 101*ade90846SJoerg Sonnenberger.Bl -tag -width "sufficient" 102*ade90846SJoerg Sonnenberger.It Cm required 103*ade90846SJoerg SonnenbergerIf this module succeeds, the result of the chain will be success 104*ade90846SJoerg Sonnenbergerunless a later module fails. 105*ade90846SJoerg SonnenbergerIf it fails, the rest of the chain still runs, but the final result 106*ade90846SJoerg Sonnenbergerwill be failure regardless of the success of later modules. 107*ade90846SJoerg Sonnenberger.It Cm requisite 108*ade90846SJoerg SonnenbergerIf this module succeeds, the result of the chain will be success 109*ade90846SJoerg Sonnenbergerunless a later module fails. 110*ade90846SJoerg SonnenbergerIf it module fails, the chain is broken and the result is failure. 111*ade90846SJoerg Sonnenberger.It Cm sufficient 112*ade90846SJoerg SonnenbergerIf this module succeeds, the chain is broken and the result is 113*ade90846SJoerg Sonnenbergersuccess. 114*ade90846SJoerg SonnenbergerIf it fails, the rest of the chain still runs, but the final result 115*ade90846SJoerg Sonnenbergerwill be failure unless a later module succeeds. 116*ade90846SJoerg Sonnenberger.It Cm binding 117*ade90846SJoerg SonnenbergerIf this module succeeds, the chain is broken and the result is 118*ade90846SJoerg Sonnenbergersuccess. 119*ade90846SJoerg SonnenbergerIf it fails, the rest of the chain still runs, but the final result 120*ade90846SJoerg Sonnenbergerwill be failure regardless of the success of later modules. 121*ade90846SJoerg Sonnenberger.It Cm optional 122*ade90846SJoerg SonnenbergerIf this module succeeds, the result of the chain will be success 123*ade90846SJoerg Sonnenbergerunless a later module fails. 124*ade90846SJoerg SonnenbergerIf this module fails, the result of the chain will be failure unless a 125*ade90846SJoerg Sonnenbergerlater module succeeds. 126*ade90846SJoerg Sonnenberger.El 127*ade90846SJoerg Sonnenberger.Pp 128*ade90846SJoerg SonnenbergerThere are two exceptions to the above: 129*ade90846SJoerg Sonnenberger.Cm sufficient 130*ade90846SJoerg Sonnenbergerand 131*ade90846SJoerg Sonnenberger.Cm binding 132*ade90846SJoerg Sonnenbergermodules are treated as 133*ade90846SJoerg Sonnenberger.Cm optional 134*ade90846SJoerg Sonnenbergerby 135*ade90846SJoerg Sonnenberger.Xr pam_setcred 3 , 136*ade90846SJoerg Sonnenbergerand in the 137*ade90846SJoerg Sonnenberger.Dv PAM_PRELIM_CHECK 138*ade90846SJoerg Sonnenbergerphase of 139*ade90846SJoerg Sonnenberger.Xr pam_chauthtok 3 . 140*ade90846SJoerg Sonnenberger.Pp 141*ade90846SJoerg SonnenbergerThe 142*ade90846SJoerg Sonnenberger.Ar module-path 143*ade90846SJoerg Sonnenbergerfield specifies the name, or optionally the full path, of the module 144*ade90846SJoerg Sonnenbergerto call. 145*ade90846SJoerg Sonnenberger.Pp 146*ade90846SJoerg SonnenbergerThe remaining fields are passed as arguments to the module if and when 147*ade90846SJoerg Sonnenbergerit is invoked. 148*ade90846SJoerg Sonnenberger.Pp 149*ade90846SJoerg SonnenbergerThe 150*ade90846SJoerg Sonnenberger.Cm include 151*ade90846SJoerg Sonnenbergerform of entry causes entries from a different chain (specified by 152*ade90846SJoerg Sonnenberger.Ar other-system-name ) 153*ade90846SJoerg Sonnenbergerto be included in the current one. 154*ade90846SJoerg SonnenbergerThis allows one to define system-wide policies which are then included 155*ade90846SJoerg Sonnenbergerinto service-specific policies. 156*ade90846SJoerg SonnenbergerThe system-wide policy can then be modified without having to also 157*ade90846SJoerg Sonnenbergermodify each and every service-specific policy. 158*ade90846SJoerg Sonnenberger.Sh SEE ALSO 159*ade90846SJoerg Sonnenberger.Xr pam 3 160*ade90846SJoerg Sonnenberger.Sh STANDARDS 161*ade90846SJoerg Sonnenberger.Rs 162*ade90846SJoerg Sonnenberger.%T "X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules" 163*ade90846SJoerg Sonnenberger.%D "June 1997" 164*ade90846SJoerg Sonnenberger.Re 165*ade90846SJoerg Sonnenberger.Sh AUTHORS 166*ade90846SJoerg SonnenbergerThe OpenPAM library was developed for the FreeBSD Project by ThinkSec 167*ade90846SJoerg SonnenbergerAS and Network Associates Laboratories, the Security Research Division 168*ade90846SJoerg Sonnenbergerof Network Associates, Inc. under DARPA/SPAWAR contract 169*ade90846SJoerg SonnenbergerN66001-01-C-8035 170*ade90846SJoerg Sonnenberger.Pq Dq CBOSS , 171*ade90846SJoerg Sonnenbergeras part of the DARPA CHATS research program. 172*ade90846SJoerg Sonnenberger.Pp 173*ade90846SJoerg SonnenbergerThis manual page was written by 174*ade90846SJoerg Sonnenberger.An Dag-Erling Sm\(/orgrav Aq des@FreeBSD.org . 175