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