phpldapadmin: Start autonumbering at 0, for uniqueNumber.
[matthijs/servers/drsnuggles.git] / etc / phpldapadmin / config.php
1 <?php
2 /** NOTE **
3  ** Make sure that <?php is the FIRST line of this file!
4  ** IE: There should NOT be any blank lines or spaces BEFORE <?php
5  **/
6
7 /**
8  * The phpLDAPadmin config file
9  *
10  * This is where you can customise some of the phpLDAPadmin defaults
11  * that are defined in config_default.php.
12  *
13  * To override a default, use the $config->custom variable to do so.
14  * For example, the default for defining the language in config_default.php
15  *
16  * $this->default->appearance['lang'] = array(
17  *  'desc'=>'Language',
18  *  'default'=>'auto');
19  *
20  * to override this, use $config->custom->appearance['lang'] = 'en';
21  *
22  * This file is also used to configure your LDAP server connections.
23  *
24  * You must specify at least one LDAP server there. You may add
25  * as many as you like. You can also specify your language, and
26  * many other options.
27  *
28  * NOTE: Commented out values in this file prefixed by //, represent the
29  * defaults that have been defined in config_default.php.
30  * Commented out values prefixed by #, dont reflect their default value, you can
31  * check config_default.php if you want to see what the default is.
32  *
33  * DONT change config_default.php, you changes will be lost by the next release
34  * of PLA. Instead change this file - as it will NOT be replaced by a new
35  * version of phpLDAPadmin.
36  */
37
38 /*********************************************/
39 /* Useful important configuration overrides  */
40 /*********************************************/
41
42 /* If you are asked to put pla in debug mode, this is how you do it: */
43 #  $config->custom->debug['level'] = 255;
44 #  $config->custom->debug['syslog'] = true;
45 #  $config->custom->debug['file'] = '/tmp/pla_debug.log';
46
47 /* phpLDAPadmin can encrypt the content of sensitive cookies if you set this
48    to a big random string. */
49 // $config->custom->session['blowfish'] = null;
50
51 /* The language setting. If you set this to 'auto', phpLDAPadmin will attempt
52    to determine your language automatically. Otherwise, available lanaguages
53    are: 'ct', 'de', 'en', 'es', 'fr', 'it', 'nl', and 'ru'
54    Localization is not complete yet, but most strings have been translated.
55    Please help by writing language files. See lang/en.php for an example. */
56 // $config->custom->appearance['language'] = 'auto';
57
58 /* The temporary storage directory where we will put jpegPhoto data
59    This directory must be readable and writable by your web server. */
60 // $config->custom->jpeg['tmpdir'] = "/tmp";     // Example for Unix systems
61 #  $config->custom->jpeg['tmpdir'] = "c:\\temp"; // Example for Windows systems
62
63 /* Set this to (bool)true if you do NOT want a random salt used when
64    calling crypt().  Instead, use the first two letters of the user's
65    password.  This is insecure but unfortunately needed for some older
66    environments. */
67 #  $config->custom->password['no_random_crypt_salt'] = true;
68
69 /* PHP script timeout control. If php runs longer than this many seconds then
70    PHP will stop with an Maximum Execution time error. Increase this value from
71    the default if queries to your LDAP server are slow. The default is either
72    30 seconds or the setting of max_exection_time if this is null. */
73 // $config->custom->session['timelimit'] = 30;
74
75 /*********************************************/
76 /* Commands                                  */
77 /*********************************************/
78
79 /* Command availability ; if you don't authorize a command the command
80    links will not be shown and the command action will not be permitted.
81    For better security, set also ACL in your ldap directory. */
82
83 /*
84 $config->custom->commands['all'] = array(
85  'home'    => true,
86  'external_links' => array('feature'  => true,
87                            'bug'      => true,
88                            'donation' => true,
89                            'help'     => true,
90                            'credits'  => true),
91  'purge'   => true,
92  'schema'  => true,
93  'import'  => true,
94  'export'  => true,
95  'logout'  => true,
96  'search'  => array('simple_search'     => true,
97                     'predefined_search' => true,
98                     'advanced_search'   => true),
99  'server_refresh' => true,
100  'server_info'    => true,
101  'entry_refresh'  => true,
102  'entry_move'     => true,
103  'entry_internal_attributes_show' => true,
104  'entry_delete'  => array('simple_delete' => true,
105                           'mass_delete'   => false),
106  'entry_rename'  => true,
107  'entry_compare' => true,
108  'entry_create'  => true,
109  'attribute_add'          => true,
110  'attribute_add_value'    => true,
111  'attribute_delete'       => true,
112  'attribute_delete_value' => true);
113 */
114
115 /*********************************************/
116 /* Appearance                                */
117 /*********************************************/
118
119 /* If you want to choose the appearance of the tree, specify a class name which
120    inherits from the Tree class. */
121 // $config->custom->appearance['tree'] = "AJAXTree";
122 #  $config->custom->appearance['tree'] = "HTMLTree";
123
124 /* If you want to customise the entry view/edition, specify your factory name which
125    inherits from the EntryFactory class.
126    The 'DefaultEntryFactory' draws all the attributes of an entry according this
127    config file and the ldap schema definition ; the 'TemplateEntryFactory' draws
128    an entry according to the template whose regexp matches with the dn. */
129 #  $config->custom->appearance['entry_factory'] = "DefaultEntryFactory";
130 // $config->custom->appearance['entry_factory'] = "TemplateEntryFactory";
131
132 /* If you want to customise an attribute view/edition, specify your factory name which
133    inherits from the AttributeFactory class.
134    An AttributeFactory defines which class to use to represent a given attribute */
135 // $config->custom->appearance['attribute_factory'] = "AttributeFactory";
136
137 /* Configure what objects are shown in left hand tree */
138 // $config->custom->appearance['tree_filter'] = '(objectclass=*)';
139
140 /* The height and width of the tree. If these values are not set, then
141    no tree scroll bars are provided.
142 // $config->custom->appearance['tree_height'] = null;
143 #  $config->custom->appearance['tree_height'] = 600;
144 // $config->custom->appearance['tree_width'] = null;
145 #  $config->custom->appearance['tree_width'] = 250;
146
147 /*********************************************/
148 /* Define your LDAP servers in this section  */
149 /*********************************************/
150
151 $i=0;
152 $ldapservers = new LDAPServers;
153
154 /* A convenient name that will appear in the tree viewer and throughout
155    phpLDAPadmin to identify this LDAP server to users. */
156 $ldapservers->SetValue($i,'server','name','My LDAP Server');
157
158 /* Examples:
159    'ldap.example.com',
160    'ldaps://ldap.example.com/',
161    'ldapi://%2fusr%local%2fvar%2frun%2fldapi'
162            (Unix socket at /usr/local/var/run/ldap) */
163 $ldapservers->SetValue($i,'server','host','ldap.drsnuggles.stderr.nl');
164
165 /* The port your LDAP server listens on (no quotes). 389 is standard. */
166 // $ldapservers->SetValue($i,'server','port','389');
167
168 /* Array of base DNs of your LDAP server. Leave this blank to have phpLDAPadmin
169    auto-detect it for you. */
170 $ldapservers->SetValue($i,'server','base',array('dc=drsnuggles,dc=stderr,dc=nl'));
171
172 /* Four options for auth_type:
173    1. 'cookie': you will login via a web form, and a client-side cookie will
174       store your login dn and password.
175    2. 'session': same as cookie but your login dn and password are stored on the
176       web server in a persistent session variable.
177    3. 'http': same as session but your login dn and password are retrieved via
178       HTTP authentication.
179    4. 'config': specify your login dn and password here in this config file. No
180       login will be required to use phpLDAPadmin for this server.
181
182    Choose wisely to protect your authentication information appropriately for
183    your situation. If you choose 'cookie', your cookie contents will be
184    encrypted using blowfish and the secret your specify above as
185    session['blowfish']. */
186 $ldapservers->SetValue($i,'server','auth_type','session');
187
188 /* The DN of the user for phpLDAPadmin to bind with. For anonymous binds or
189    'cookie' or 'session' auth_types, LEAVE THE LOGIN_DN AND LOGIN_PASS BLANK. If
190    you specify a login_attr in conjunction with a cookie or session auth_type,
191    then you can also specify the login_dn/login_pass here for searching the
192    directory for users (ie, if your LDAP server does not allow anonymous binds. */
193 // $ldapservers->SetValue($i,'login','dn','');
194  $ldapservers->SetValue($i,'login','dn','cn=admin,dc=drsnuggles,dc=stderr,dc=nl');
195
196 /* Your LDAP password. If you specified an empty login_dn above, this MUST also
197    be blank. */
198 // $ldapservers->SetValue($i,'login','pass','');
199  $ldapservers->SetValue($i,'login','pass','');
200
201 // Make sure that uniqueNumber doesn't start counting at 1000. The uidNumbers
202 // will still work correctly, since they start counting at whatever minimal
203 // value is in the directory already.
204  $ldapservers->SetValue($i,'auto_number','min',0);
205
206 /* Use TLS (Transport Layer Security) to connect to the LDAP server. */
207 // $ldapservers->SetValue($i,'server','tls',false);
208
209 /************************************
210  *      SASL Authentication         *
211  ************************************/
212
213 /* Enable SASL authentication LDAP SASL authentication requires PHP 5.x
214    configured with --with-ldap-sasl=DIR. If this option is disabled (ie, set to
215    false), then all other sasl options are ignored. */
216 // $ldapservers->SetValue($i,'server','sasl_auth',false);
217
218 /* SASL auth mechanism */
219 // $ldapservers->SetValue($i,'server','sasl_mech','PLAIN');
220
221 /* SASL authentication realm name */
222 // $ldapservers->SetValue($i,'server','sasl_realm','');
223 #  $ldapservers->SetValue($i,'server','sasl_realm',"example.com");
224
225 /* SASL authorization ID name
226    If this option is undefined, authorization id will be computed from bind DN,
227    using sasl_authz_id_regex and sasl_authz_id_replacement. */
228 // $ldapservers->SetValue($i,'server','sasl_authz_id', null);
229
230 /* SASL authorization id regex and replacement
231    When sasl_authz_id property is not set (default), phpLDAPAdmin will try to
232    figure out authorization id by itself from bind distinguished name (DN).
233
234    This procedure is done by calling preg_replace() php function in the
235    following way:
236
237    $authz_id = preg_replace($sasl_authz_id_regex,$sasl_authz_id_replacement,
238     $bind_dn);
239
240    For info about pcre regexes, see:
241    - pcre(3), perlre(3)
242    - http://www.php.net/preg_replace */
243 // $ldapservers->SetValue($i,'server','sasl_authz_id_regex',null);
244 // $ldapservers->SetValue($i,'server','sasl_authz_id_replacement',null);
245 #  $ldapservers->SetValue($i,'server','sasl_authz_id_regex','/^uid=([^,]+)(.+)/i');
246 #  $ldapservers->SetValue($i,'server','sasl_authz_id_replacement','$1');
247
248 /* SASL auth security props.
249    See http://beepcore-tcl.sourceforge.net/tclsasl.html#anchor5 for explanation.
250 */
251 // $ldapservers->SetValue($i,'server','sasl_props',null);
252
253 /* If the link between your web server and this LDAP server is slow, it is
254    recommended that you set 'low_bandwidth' to true. This will enable
255    phpLDAPadmin to forego some "fancy" features to conserve bandwidth. */
256 // $ldapservers->SetValue($i,'server','low_bandwidth',false);
257
258 /* Default password hashing algorithm. One of md5, ssha, sha, md5crpyt, smd5,
259    blowfish, crypt or leave blank for now default algorithm. */
260 // $ldapservers->SetValue($i,'appearance','password_hash','md5');
261
262 /* If you specified 'cookie' or 'session' as the auth_type above, you can
263    optionally specify here an attribute to use when logging in. If you enter
264    'uid' and login as 'dsmith', phpLDAPadmin will search for (uid=dsmith)
265    and log in as that user.
266    Leave blank or specify 'dn' to use full DN for logging in. Note also that if
267    your LDAP server requires you to login to perform searches, you can enter the
268    DN to use when searching in 'login_dn' and 'login_pass' above. You may also
269    specify 'string', in which case you can provide a string to use for logging
270    users in. See 'login_string' directly below. */
271 // $ldapservers->SetValue($i,'login','attr','dn');
272
273 /* If you specified something different from 'dn', for example 'uid', as the
274    login_attr above, you can optionally specify here to fall back to
275    authentication with dn.
276    This is useful, when users should be able to log in with their uid, but
277    the ldap administrator wants to log in with his root-dn, that does not
278    necessarily have the uid attribute. */
279 // $ldapservers->SetValue($i,'login','fallback_dn',false);
280
281 /* If you specified 'cookie' or 'session' as the auth_type above, and you
282    specified 'string' for 'login_attr' above, you must provide a string here for
283    logging users in. If, for example, I have a lot of user entries with DNs like
284    "uid=dsmith,ou=People,dc=example,dc=com", then I can specify a string
285    "uid=<username>,ou=People,dc=example,dc=com" and my users can login with
286    their user names alone, ie: "dsmith" in this case. */
287 #  $ldapservers->SetValue($i,'login','string','uid=<username>,ou=People,dc=example,dc=com');
288
289 /* If 'login_attr' is used above such that phpLDAPadmin will search for your DN
290    at login, you may restrict the search to a specific objectClass. EG, set this
291    to 'posixAccount' or 'inetOrgPerson', depending upon your setup. */
292 // $ldapservers->SetValue($i,'login','class',null);
293
294 /* Specify true If you want phpLDAPadmin to not display or permit any
295    modification to the LDAP server. */
296 // $ldapservers->SetValue($i,'server','read_only',false);
297
298 /* Specify false if you do not want phpLDAPadmin to draw the 'Create new' links
299    in the tree viewer. */
300 // $ldapservers->SetValue($i,'appearance','show_create',true);
301
302 /* This feature allows phpLDAPadmin to automatically determine the next
303    available uidNumber for a new entry. */
304 // $ldapservers->SetValue($i,'auto_number','enable',true);
305
306 /* The mechanism to use when finding the next available uidNumber. Two possible
307    values: 'uidpool' or 'search'.
308    The 'uidpool' mechanism uses an existing uidPool entry in your LDAP server to
309    blindly lookup the next available uidNumber. The 'search' mechanism searches
310    for entries with a uidNumber value and finds the first available uidNumber
311    (slower). */
312 // $ldapservers->SetValue($i,'auto_number','mechanism','search');
313
314 /* The DN of the search base when the 'search' mechanism is used above. */
315 #  $ldapservers->SetValue($i,'auto_number','search_base','ou=People,dc=example,dc=com');
316
317 /* The minimum number to use when searching for the next available UID number
318    (only when 'search' is used for auto_uid_number_mechanism' */
319 // $ldapservers->SetValue($i,'auto_number','min','1000');
320
321 /* The DN of the uidPool entry when 'uidpool' mechanism is used above. */
322 #  $servers[$i]['auto_uid_number_uid_pool_dn'] = 'cn=uidPool,dc=example,dc=com';
323
324 /* If you set this, then phpldapadmin will bind to LDAP with this user ID when
325    searching for the uidnumber. The idea is, this user id would have full
326    (readonly) access to uidnumber in your ldap directory (the logged in user
327    may not), so that you can be guaranteed to get a unique uidnumber for your
328    directory. */
329 // $ldapservers->SetValue($i,'auto_number','dn',null);
330
331 /* The password for the dn above. */
332 // $ldapservers->SetValue($i,'auto_number','pass',null);
333
334 /* Enable anonymous bind login. */
335 // $ldapservers->SetValue($i,'login','anon_bind',true);
336
337 /* Use customized page with prefix when available. */
338 #  $ldapservers->SetValue($i,'custom','pages_prefix','custom_');
339
340 /* If you set this, then phpldapadmin will bind to LDAP with this user when
341    testing for unique attributes (as set in unique_attrs array). If you want to
342    enforce unique attributes, than this id should have full (readonly) access
343    to the attributes in question (the logged in user may not have enough access)
344 */
345 // $ldapservers->SetValue($i,'unique_attrs','dn',null);
346
347 /* The password for the dn above */
348 // $ldapservers->SetValue($i,'unique_attrs','pass',null);
349
350 /* If you set this, then only these DNs are allowed to log in. This array can
351    contain individual users, groups or ldap search filter(s). Keep in mind that
352    the user has not authenticated yet, so this will be an anonymous search to
353    the LDAP server, so make your ACLs allow these searches to return results! */
354 #  $ldapservers->SetValue($i,'login','allowed_dns',array(
355 #   'uid=stran,ou=People,dc=example,dc=com',
356 #   '(&(gidNumber=811)(objectClass=groupOfNames))',
357 #   '(|(uidNumber=200)(uidNumber=201))',
358 #   'cn=callcenter,ou=Group,dc=example,dc=com'));
359
360 /* Set this if you dont want this LDAP server to show in the tree */
361 // $ldapservers->SetValue($i,'appearance','visible',true);
362
363 /* This is the time out value in minutes for the server. After as many minutes
364    of inactivity you will be automatically logged out. If not set, the default
365    value will be ( session_cache_expire()-1 ) */
366 #  $ldapservers->SetValue($i,'login','timeout',30);
367
368 /* Set this if you want phpldapadmin to perform rename operation on entry which
369    has children. Certain servers are known to allow it, certain are not */
370 // $ldapservers->SetValue($i,'server','branch_rename',false);
371
372 /**************************************************************************
373  * If you want to configure additional LDAP servers, do so below.         *
374  * Remove the commented lines and use this section as a template for all  *
375  * your other LDAP servers.                                               *
376  **************************************************************************/
377
378 /*
379 $i++;
380 $ldapservers->SetValue($i,'server','name','LDAP Server');
381 $ldapservers->SetValue($i,'server','host','127.0.0.1');
382 $ldapservers->SetValue($i,'server','port','389');
383 $ldapservers->SetValue($i,'server','base',array(''));
384 $ldapservers->SetValue($i,'server','auth_type','cookie');
385 $ldapservers->SetValue($i,'login','dn','');
386 $ldapservers->SetValue($i,'login','pass','');
387 $ldapservers->SetValue($i,'server','tls',false);
388 $ldapservers->SetValue($i,'server','low_bandwidth',false);
389 $ldapservers->SetValue($i,'appearance','password_hash','md5');
390 $ldapservers->SetValue($i,'login','attr','dn');
391 $ldapservers->SetValue($i,'login','string',null);
392 $ldapservers->SetValue($i,'login','class',null);
393 $ldapservers->SetValue($i,'server','read_only',false);
394 $ldapservers->SetValue($i,'appearance','show_create',true);
395 $ldapservers->SetValue($i,'auto_number','enable',true);
396 $ldapservers->SetValue($i,'auto_number','mechanism','search');
397 $ldapservers->SetValue($i,'auto_number','search_base',null);
398 $ldapservers->SetValue($i,'auto_number','min','1000');
399 $ldapservers->SetValue($i,'auto_number','dn',null);
400 $ldapservers->SetValue($i,'auto_number','pass',null);
401 $ldapservers->SetValue($i,'login','anon_bind',true);
402 $ldapservers->SetValue($i,'custom','pages_prefix','custom_');
403 $ldapservers->SetValue($i,'unique_attrs','dn',null);
404 $ldapservers->SetValue($i,'unique_attrs','pass',null);
405
406 # SASL auth
407 $ldapservers->SetValue($i,'server','sasl_auth',true);
408 $ldapservers->SetValue($i,'server','sasl_mech','PLAIN');
409 $ldapservers->SetValue($i,'server','sasl_realm','EXAMPLE.COM');
410 $ldapservers->SetValue($i,'server','sasl_authz_id',null);
411 $ldapservers->SetValue($i,'server','sasl_authz_id_regex','/^uid=([^,]+)(.+)/i');
412 $ldapservers->SetValue($i,'server','sasl_authz_id_replacement','$1');
413 $ldapservers->SetValue($i,'server','sasl_props',null);
414 */
415
416 /*********************************************/
417 /* User-friendly attribute translation       */
418 /*********************************************/
419
420 /* Use this array to map attribute names to user friendly names. For example, if
421    you don't want to see "facsimileTelephoneNumber" but rather "Fax". */
422 $friendly_attrs = array();
423
424 $friendly_attrs['facsimileTelephoneNumber'] = 'Fax';
425 $friendly_attrs['telephoneNumber']          = 'Phone';
426 $friendly_attrs['uid']                      = 'User Name';
427
428 /*********************************************/
429 /* Support for attrs display order           */
430 /*********************************************/
431
432 /* Use this array if you want to have your attributes displayed in a specific
433    order. You can use default attribute names or their fridenly names.
434    For example, "sn" will be displayed right after "givenName". All the other
435    attributes that are not specified in this array will be displayed after in
436    alphabetical order. */
437 #  $attrs_display_order = array(
438 #   'givenName',
439 #   'sn',
440 #   'cn',
441 #   'displayName',
442 #   'uid',
443 #   'uidNumber',
444 #   'gidNumber',
445 #   'homeDirectory',
446 #   'mail',
447 #   'userPassword'
448 #  );
449
450 /*********************************************/
451 /* Hidden attributes                         */
452 /*********************************************/
453
454 /* You may want to hide certain attributes from being displayed in the editor
455    screen. Do this by adding the desired attributes to this list (and uncomment
456    it). This only affects the editor screen. Attributes will still be visible in
457    the schema browser and elsewhere. An example is provided below:
458    NOTE: The user must be able to read the hidden_except_dn entry to be
459    excluded. */
460 #  $hidden_attrs = array( 'jpegPhoto', 'objectClass' );
461 #  $hidden_except_dn = "cn=PLA UnHide,ou=Groups,c=AU";
462
463 /* Hidden attributes in read-only mode. If undefined, it will be equal to
464    $hidden_attrs. */
465 #  $hidden_attrs_ro = array(
466 #   'objectClass','shadowWarning', 'shadowLastChange', 'shadowMax',
467 #   'shadowFlag', 'shadowInactive', 'shadowMin', 'shadowExpire');
468
469 /**                                         **/
470 /** Read-only attributes                    **/
471 /**                                         **/
472
473 /* You may want to phpLDAPadmin to display certain attributes as read only,
474    meaning that users will not be presented a form for modifying those
475    attributes, and they will not be allowed to be modified on the "back-end"
476    either. You may configure this list here:
477    NOTE: The user must be able to read the read_only_except_dn entry to be
478    excluded. */
479 #  $read_only_attrs = array( 'objectClass' );
480 #  $read_only_except_dn = "cn=PLA ReadWrite,ou=Groups,c=AU";
481
482 /* An example of how to specify multiple read-only attributes: */
483 #  $read_only_attrs = array( 'jpegPhoto', 'objectClass', 'someAttribute' );
484
485 /*********************************************/
486 /* Unique attributes                         */
487 /*********************************************/
488
489 /* You may want phpLDAPadmin to enforce some attributes to have unique values
490    (ie: not belong to other entries in your tree. This (together with
491    unique_attrs['dn'] and unique_attrs['pass'] option will not let updates to
492    occur with other attributes have the same value.
493    NOTE: Currently the unique_attrs is NOT enforced when copying a dn. (Need to
494    present a user with the option of changing the unique attributes. */
495 #  $unique_attrs = array('uid','uidNumber','mail');
496
497 /*********************************************/
498 /* Group attributes                          */
499 /*********************************************/
500
501 /* Add "modify group members" link to the attribute. */
502 // $config->custom->modify_member['groupattr'] = array('member','uniqueMember','memberUid')
503
504 /* Configure filter for member search. This only applies to "modify group members" feature */
505 // $config->custom->modify_member['filter'] = '(objectclass=Person)';
506
507 /* Attribute that is added to the group member attribute. */
508 // $config->custom->modify_member['attr'] = 'dn';
509
510 /*********************************************/
511 /* Predefined Queries (canned views)         */
512 /*********************************************/
513
514 /* To make searching easier, you may setup predefined queries below: */
515 $q=0;
516 $queries = array();
517
518 /* The name that will appear in the simple search form */
519 $queries[$q]['name'] = 'User List';
520
521 /* The base to search on */
522 $queries[$q]['base'] = 'dc=example,dc=com';
523
524 /* The search scope (sub, base, one) */
525 $queries[$q]['scope'] = 'sub';
526
527 /* The LDAP filter to use */
528 $queries[$q]['filter'] = '(&(objectClass=posixAccount)(uid=*))';
529
530 /* The attributes to return */
531 $queries[$q]['attributes'] = 'cn, uid, homeDirectory, telephonenumber, jpegphoto';
532
533 /* If you want to configure more pre-defined queries, copy and paste the above (including the "$q++;") */
534 $q++;
535 $queries[$q]['name'] = 'Samba Users';
536 $queries[$q]['base'] = 'dc=example,dc=com';
537 $queries[$q]['scope'] = 'sub';
538 $queries[$q]['filter'] = '(&(|(objectClass=sambaAccount)(objectClass=sambaSamAccount))(objectClass=posixAccount)(!(uid=*$)))';
539 $queries[$q]['attributes'] = 'uid, smbHome, uidNumber';
540
541 $q++;
542 $queries[$q]['name'] = 'Samba Computers';
543 $queries[$q]['base'] = 'dc=example,dc=com';
544 $queries[$q]['scope'] = 'sub';
545 $queries[$q]['filter'] = '(&(objectClass=sambaAccount)(uid=*$))';
546 $queries[$q]['attributes'] = 'uid, homeDirectory';
547 ?>