1
.TH squid_ldap_group 8 "30 January 2005" "Version 2.17"
4
squid_ldap_group - Squid LDAP external acl group helper
7
squid_ldap_group -b "base DN" -f "LDAP search filter" [options] [ldap_server_name[:port]|URI]...
10
This helper allows Squid to connect to a LDAP directory to
11
authorize users via LDAP groups.
12
LDAP options are specified as parameters on the command line,
13
while the username(s) and group(s) to be checked against the
14
LDAP directory are specified on subsequent lines of input to the
15
helper, one username/group pair per line separated by a space.
17
As expected by the external_acl construct of Squid, after
18
specifying a username and group followed by a new line, this
19
helper will produce either OK or ERR on the following line
20
to show if the user is a member of the specified group.
22
The program operates by searching with a search filter based
23
on the users user name and requested group, and if a match
24
is found it is determined that the user belongs to the group.
27
.BI "-b " "basedn " (REQUIRED)
28
Specifies the base DN under which the groups are located.
32
Specifies the base DN under which the users are located (if different)
36
Specifies that the first query argument sent to the helper by Squid is
37
a extension to the basedn and will be temporarily added in front of the
38
global basedn for this query.
42
LDAP search filter used to search the LDAP directory for any
43
matching group memberships.
45
In the filter %u will be replaced by the user name (or DN if
46
the -F or -u options are used) and %g by the requested group name.
50
LDAP search filter used to search the LDAP directory for any
53
In the filter %s will be replaced by the user name. If % is to be
54
included literally in the filter then use %%.
58
LDAP attribute used to construct the user DN from the user name and
59
base dn without needing to search for the user.
62
.BI "-s " base|one|sub
63
search scope. Defaults to 'sub'.
68
level below the base object or
73
.BI "-D " "binddn " "-w " password
74
The DN and password to bind as while performing searches. Required
75
if the directory does not allow anonymous searches.
77
As the password needs to be printed in plain text in your Squid configuration
78
and will be sent on the command line to the helper it is strongly recommended
79
to use a account with minimal associated privileges. This to limit the damage
80
in case someone could get hold of a copy of your Squid configuration file or
81
extracts the password used from a process listing.
84
.BI "-D " "binddn " "-W " "secretfile "
85
The DN and the name of a file containing the password
86
to bind as while performing searches.
88
Less insecure version of the former parameter pair with two advantages:
89
The password does not occur in the process listing,
90
and the password is not being compromised if someone gets the squid
91
configuration file without getting the secretfile.
95
Use a persistent LDAP connection. Normally the LDAP connection
96
is only open while verifying a users group membership to preserve
97
resources at the LDAP server. This option causes the LDAP connection to
98
be kept open, allowing it to be reused for further user
99
validations. Recommended for larger installations.
103
do not follow referrals
106
.BI "-a " never|always|search|find
107
when to dereference aliases. Defaults to 'never'
110
dereference aliases (default),
112
dereference aliases, only while
120
Specity the LDAP server to connect to by a LDAP URI (requires OpenLDAP libraries)
124
Specify the LDAP server to connect to
127
Specify an alternate TCP port where the ldap server is listening if
128
other than the default LDAP port 389.
132
LDAP protocol version. Defaults to 2 if not specified.
140
Enable LDAP over SSL (requires Netscape LDAP API libraries)
143
.BI -c connect_timeout
144
Specify timeout used when connecting to LDAP servers (requires
145
Netscape LDAP API libraries)
147
.BI -t search_timeout
148
Specify time limit on LDAP search operations
152
Strip NT domain name component from user names (/ or \\ separated)
156
Debug mode where each step taken will get reported in detail.
157
Useful for understanding what goes wrong if the results is
158
not what is expected.
160
.SH SQUID CONFIGURATION
162
This helper is intended to be used as a external_acl_type helper from
167
external_acl_type ldap_group %LOGIN /path/to/squid_ldap_group ...
169
acl group1 external ldap_group Group1
171
acl group2 external ldap_group Group2
177
When constructing search filters it is recommended to first test the filter
178
using ldapsearch before you attempt to use squid_ldap_group. This to verify
179
that the filter matches what you expect.
182
This manual page was written by
183
.I Henrik Nordstrom <hno@marasystems.com>
185
squid_ldap_group is written by
186
.I Flavio Pescuma <flavio@marasystems.com>
188
.IR "Henrik Nordstrom <hno@squid-cache.org>" ,
189
based on prior work in squid_ldap_auth by
190
.I Glen Newton <glen.newton@nrc.ca>
192
.SH KNOWN LIMITATIONS
193
Max 16 occurrences of %s in the -u argument is supported.
196
Any questions on usage can be sent to
197
.IR "Squid Users <squid-users@squid-cache.org>" ,
198
or to your favorite LDAP list/friend if the question is more related to
202
Report bugs or bug-fixes to
203
.I Squid Bugs <squid-bugs@squid-cache.org>
204
or ideas for new improvements to
205
.I Squid Developers <squid-dev@squid-cache.org>
208
.BR squid_ldap_auth ( 8 ),
209
.BR ldapsearch ( 1 ),
211
Your favorite LDAP documentation
213
.BR RFC2254 " - The String Representation of LDAP Search Filters,"