]> git.ipfire.org Git - thirdparty/squid.git/blame - src/acl/external/LDAP_group/ext_ldap_group_acl.8
Docs: Copyright updates for 2018 (#114)
[thirdparty/squid.git] / src / acl / external / LDAP_group / ext_ldap_group_acl.8
CommitLineData
c152a447 1.if !'po4a'hide' .TH ext_ldap_group_acl 8 "30 January 2005"
28e81872 2.
3.SH NAME
d632afde 4ext_ldap_group_acl \- Squid LDAP external acl group helper
83915266 5.PP
5a14d64b 6Version 2.18
28e81872 7.
8.SH SYNOPSIS
c152a447 9.if !'po4a'hide' .B ext_ldap_group_acl
30133696
AJ
10.if !'po4a'hide' .B \-b
11base\-DN
12.if !'po4a'hide' .B \-f
13filter
14.if !'po4a'hide' .B "["
83915266
AJ
15options
16.if !'po4a'hide' .B "] ["
30133696
AJ
17server
18.if !'po4a'hide' .B "[ ':' "
83915266 19port
30133696 20.if !'po4a'hide' .B "] |"
83915266 21URI
30133696 22.if !'po4a'hide' .B "] ..."
28e81872 23.
24.SH DESCRIPTION
c152a447 25.B ext_ldap_group_acl
83915266 26allows Squid to connect to a LDAP directory to authorize users via LDAP groups.
b10eaeab 27LDAP options are specified as parameters on the command line,
28while the username(s) and group(s) to be checked against the
29LDAP directory are specified on subsequent lines of input to the
30helper, one username/group pair per line separated by a space.
83915266 31.PP
8c2b74bc
AJ
32As expected by the
33.B external_acl_type
34construct of Squid, after
b10eaeab 35specifying a username and group followed by a new line, this
8c2b74bc
AJ
36helper will produce either
37.B OK
38or
39.B ERR
40on the following line
b10eaeab 41to show if the user is a member of the specified group.
83915266 42.PP
28e81872 43The program operates by searching with a search filter based
5eecb267 44on the users user name and requested group, and if a match
28e81872 45is found it is determined that the user belongs to the group.
46.
83915266
AJ
47.SH OPTIONS
48.if !'po4a'hide' .TP 12
49.if !'po4a'hide' .BI "\-a " never|always|search|find
50When to dereference aliases. Defaults to 'never'
51.IP
52.BI never
53dereference aliases (default),
54.BI always
2b61af8e
LU
55dereference aliases, only during a
56.BR search
83915266
AJ
57or only to
58.B find
59the base object
60.
61.if !'po4a'hide' .TP
62.if !'po4a'hide' .BI "\-b " "basedn "
63.B REQUIRED.
28e81872 64Specifies the base DN under which the groups are located.
65.
83915266
AJ
66.if !'po4a'hide' .TP
67.if !'po4a'hide' .BI "\-B " "basedn "
6708c52c 68Specifies the base DN under which the users are located (if different)
69.
83915266
AJ
70.if !'po4a'hide' .TP
71.if !'po4a'hide' .BI \-c " connect_timeout"
72Specify timeout used when connecting to LDAP servers (requires
73Netscape LDAP API libraries)
28e81872 74.
83915266
AJ
75.if !'po4a'hide' .TP
76.if !'po4a'hide' .BI \-d
77Debug mode where each step taken will get reported in detail.
c152a447
AJ
78Useful for understanding what goes wrong if the result is
79not what was expected.
28e81872 80.
83915266
AJ
81.if !'po4a'hide' .TP
82.if !'po4a'hide' .BI "\-D " "binddn " "\-w " password
28e81872 83The DN and password to bind as while performing searches. Required
c152a447 84if the LDAP directory does not allow anonymous searches.
28e81872 85.IP
86As the password needs to be printed in plain text in your Squid configuration
87and will be sent on the command line to the helper it is strongly recommended
88to use a account with minimal associated privileges. This to limit the damage
89in case someone could get hold of a copy of your Squid configuration file or
90extracts the password used from a process listing.
91.
83915266
AJ
92.if !'po4a'hide' .TP
93.if !'po4a'hide' .BI "\-D " "binddn " "\-W " "secretfile "
954a8513 94The DN and the name of a file containing the password
95to bind as while performing searches.
96.IP
97Less insecure version of the former parameter pair with two advantages:
98The password does not occur in the process listing,
99and the password is not being compromised if someone gets the squid
100configuration file without getting the secretfile.
101.
83915266 102.if !'po4a'hide' .TP
30133696 103.if !'po4a'hide' .BI "\-E " certpath
83915266 104Enable LDAP over SSL (requires Netscape LDAP API libraries)
28e81872 105.
06fcded4 106.if !'po4a'hide' .TP
83915266
AJ
107.if !'po4a'hide' .BI "\-f " filter
108LDAP search filter used to search the LDAP directory for any
109matching group memberships.
110.BR
111In the filter
112.B %u
113will be replaced by the user name (or DN if
114the
115.B \-F
116or
117.B \-u
118options are used) and
119.B %g
120by the requested group name.
28e81872 121.
83915266
AJ
122.if !'po4a'hide' .TP
123.if !'po4a'hide' .BI "\-F " filter
124LDAP search filter used to search the LDAP directory for any
125matching users.
126.BR
127In the filter
128.B %s
129will be replaced by the user name. If
130.B %
131is to be included literally in the filter then use
132.B %%
133.
134.if !'po4a'hide' .TP
135.if !'po4a'hide' .B "\-g"
136Specifies that the first query argument sent to the helper by Squid is
137a extension to the basedn and will be temporarily added in front of the
138global basedn for this query.
28e81872 139.
83915266
AJ
140.if !'po4a'hide' .TP
141.if !'po4a'hide' .BI \-h " ldapserver"
142Specify the LDAP server to connect to
143.
144.if !'po4a'hide' .TP
145.if !'po4a'hide' .BI \-H " ldapuri"
2b61af8e 146Specify the LDAP server to connect to by a LDAP URI (requires OpenLDAP libraries)
5eecb267 147.
83915266
AJ
148.if !'po4a'hide' .TP
149.if !'po4a'hide' .BI \-K
150Strip Kerberos Realm component from user names (@ separated)
151.
152.if !'po4a'hide' .TP
153.if !'po4a'hide' .BI \-p " ldapport"
c152a447 154Specify an alternate TCP port where the LDAP server is listening if
28e81872 155other than the default LDAP port 389.
156.
83915266
AJ
157.if !'po4a'hide' .TP
158.if !'po4a'hide' .BI \-P
159Use a persistent LDAP connection. Normally the LDAP connection
160is only open while verifying a users group membership to preserve
161resources at the LDAP server. This option causes the LDAP connection to
162be kept open, allowing it to be reused for further user
163validations. Recommended for larger installations.
b10eaeab 164.
83915266
AJ
165.if !'po4a'hide' .TP
166.if !'po4a'hide' .BI \-R
167Do not follow referrals
653b264e 168.
83915266
AJ
169.if !'po4a'hide' .TP
170.if !'po4a'hide' .BI "-s " base|one|sub
171search scope. Defaults to
172.B sub
173.IP
174.B base
175object only,
176.IP
177.B one
178level below the base object or
179.IP
180.BR sub tree
181below the base object
653b264e 182.
83915266
AJ
183.if !'po4a'hide' .TP
184.if !'po4a'hide' .BI \-S
185Strip NT domain name component from user names (/ or \\ separated)
186.
187.if !'po4a'hide' .TP
188.if !'po4a'hide' .BI \-t " search_timeout"
653b264e 189Specify time limit on LDAP search operations
190.
83915266
AJ
191.if !'po4a'hide' .TP
192.if !'po4a'hide' .BI "\-u " attr
193LDAP attribute used to construct the user DN from the user name and
194base dn without needing to search for the user.
195A maximum of 16 occurrences of
196.B %s
197are supported.
6708c52c 198.
83915266
AJ
199.if !'po4a'hide' .TP
200.if !'po4a'hide' .BI \-v " 2|3"
06fcded4 201LDAP protocol version. Defaults to
a2c8080d
AJ
202.B 3
203if not specified.
0b9ea7bb 204.
83915266
AJ
205.if !'po4a'hide' .TP
206.if !'po4a'hide' .BI \-Z
207Use TLS encryption
6708c52c 208.
83915266 209.SH CONFIGURATION
8c2b74bc
AJ
210This helper is intended to be used as an
211.B external_acl_type
212helper in
06fcded4
AJ
213.B squid.conf .
214.
215.if !'po4a'hide' .RS
216.if !'po4a'hide' .B external_acl_type ldap_group %LOGIN /path/to/ext_ldap_group_acl ...
8c2b74bc 217.if !'po4a'hide' .br
06fcded4 218.if !'po4a'hide' .B acl group1 external ldap_group Group1
8c2b74bc 219.if !'po4a'hide' .br
06fcded4
AJ
220.if !'po4a'hide' .B acl group2 external ldap_group Group2
221.if !'po4a'hide' .RE
222.
83915266
AJ
223.PP
224.B NOTE:
06fcded4 225When constructing search filters it is recommended to first test the filter using
92a0c1e0
AJ
226.B ldapsearch
227to verify that the filter matches what you expect before you attempt to use
c152a447 228.B ext_ldap_group_acl
28e81872 229.
230.SH AUTHOR
8c2b74bc
AJ
231This program was written by
232.if !'po4a'hide' .I Flavio Pescuma <flavio@marasystems.com>
233.if !'po4a'hide' .I Henrik Nordstrom <hno@squid-cache.org>
83915266 234.PP
8c2b74bc
AJ
235Based on prior work in
236.B squid_ldap_auth
237by
238.if !'po4a'hide' .I Glen Newton <glen.newton@nrc.ca>
83915266 239.PP
8c2b74bc
AJ
240This manual was written by
241.if !'po4a'hide' .I Henrik Nordstrom <hno@marasystems.com>
28e81872 242.
83915266 243.SH COPYRIGHT
ca02e0ec 244.PP
5b74111a 245 * Copyright (C) 1996-2018 The Squid Software Foundation and contributors
ca02e0ec
AJ
246 *
247 * Squid software is distributed under GPLv2+ license and includes
248 * contributions from numerous individuals and organizations.
249 * Please see the COPYING and CONTRIBUTORS files for details.
250.PP
83915266
AJ
251This program and documentation is copyright to the authors named above.
252.PP
c871f41e 253Distributed under the GNU General Public License (GNU GPL) version 2 or later (GPLv2+).
28e81872 254.
255.SH QUESTIONS
83915266
AJ
256Questions on the usage of this program can be sent to the
257.I Squid Users mailing list
8311b837 258.if !'po4a'hide' <squid-users@lists.squid-cache.org>
83915266
AJ
259.PP
260Or contact your favorite LDAP list/friend if the question is more related to
28e81872 261LDAP than Squid.
262.
263.SH REPORTING BUGS
c871f41e
AJ
264Bug reports need to be made in English.
265See http://wiki.squid-cache.org/SquidFaq/BugReporting for details of what you need to include with your bug report.
266.PP
8c2b74bc 267Report bugs or bug fixes using http://bugs.squid-cache.org/
83915266 268.PP
8c2b74bc 269Report serious security bugs to
8311b837 270.I Squid Bugs <squid-bugs@lists.squid-cache.org>
83915266 271.PP
8c2b74bc
AJ
272Report ideas for new improvements to the
273.I Squid Developers mailing list
8311b837 274.if !'po4a'hide' <squid-dev@lists.squid-cache.org>
28e81872 275.
83915266
AJ
276.SH SEE ALSO
277.if !'po4a'hide' .BR squid "(8), "
6d5cbee6 278.if !'po4a'hide' .BR basic_ldap_auth "(8), "
83915266 279.if !'po4a'hide' .BR ldapsearch "(1), "
6d5cbee6 280.if !'po4a'hide' .BR GPL "(7), "
28e81872 281.br
282Your favorite LDAP documentation
283.br
284.BR RFC2254 " - The String Representation of LDAP Search Filters,"
6d5cbee6
AJ
285.br
286The Squid FAQ wiki
287.if !'po4a'hide' http://wiki.squid-cache.org/SquidFaq
288.br
289The Squid Configuration Manual
290.if !'po4a'hide' http://www.squid-cache.org/Doc/config/