Code

Corrected config
[gosa.git] / gosa-core / contrib / gosa.conf.5
1 .TH gosa.conf 5 "2008-04-07" "GOsa v2.6" "Debian"
2 .SH NAME
3 gosa.conf - GOsa configuration file
4 .SH DESCRIPTION
5 The gosa.conf file contains configuration information for
6 .IR GOsa,
7 a powerful GPL'ed framework for managing accounts and systems in
8 LDAP databases.
9 .PP
10 The gosa.conf file is a XML style configuration file. It is parsed by
11 the GOsa web application during log in.  The file may contain
12 extra tabs and newlines for formatting purposes.  Tag keywords in the
13 file are case-insensitive. Comments should be placed outside of XML
14 tags and should be encapsulated inside of <!-- --> tags.
15 .PP
16 The gosa.conf file can be used to configure the look and feel, behaviour
17 and access control of the GOsa webinterface.
18 .SH Configuration layout
20 The configuration has to be specified inside of the <conf> tags. It
21 basically consists of three main parts: menu definition, definition
22 of subdialogs (tabbed dialogs) and the main configuration - including
23 information about several locations.
25 .B Layout example:
27 .nf
28   <?xml version="1.0"?>
29   
30   <conf configVersion="...." >
31     <!-- Menu definition -->
32     <menu>
33     ...
34     </menu>
35   
36     <!-- Tabbed dialog definitions -->
37     ...
38   
39     <!-- Global setup -->
40     <main>
41   
42        <!-- Location specific setups -->
43        <location name="">
44          ...
45        </location>
46   
47     </main>
48   
49   </conf>
50 .fi
52 .SH Menu definition
54 This tag defines the side and icon menu inside the
55 interface. Defining an entry here is no guarantie to get it shown,
56 though. Only entries with matching ACL's get shown.
58 There are two types of entries inside of the menu: section and plugin
60 .B Defining a section
62 Open a 
63 .I <section>
64 tag including a 
65 .I name
66 attribute. This will show up in the menu as a new section later on.
67 Own entries are not handled via I18N by default. Close the 
68 .I </section>
69 tag after your plugin definitions.
71 .B Defining a plugin
73 Open a 
74 .I <plugin>
75 tag including a 
76 .I "class"
77 attribute. The 
78 .I "class" 
79 should be present inside your GOsa setup - the entry will be ignored if it is not.
81 Plugins should have an 
82 .I "acl"
83 entry, that allows GOsa to decide wether a user is allowed to see a plugin or not.
84 The 
85 .I "acl"
86 string matches with an ACL definition done inside of GOsa.
88 You can override an icon by specifying the 
89 .I "icon"
90 attribute.
92 For every plugin, you can provide at least four additional hooks: 
93 .I postcreate,
94 .I postdelete,
95 .I postmodify
96 and
97 .I check.
98 These can be used to perform special actions when a plugins gets
99 a create, delete, modify or check request. As a parameter, these
100 keywords get a shell script or program to the task.
102 .I The
103 .B create / delete / modify
104 .I keywords
106 These keywords take a full executable path of a script. You can
107 provide certain parameters in form of LDAP attributes. '%uid'
108 will pass the current user id, '%dn' the current object dn, etc.
110 The script gets executed after create, delete or modify tasks.
112 .I The
113 .B check
114 .I keyword
116 This keyword takes a full executable path of a script. Check is
117 triggered after you press the
118 -I "Apply"
119 or
120 -I "OK"
121 button. The complete LDAP entry as it will be written to the
122 LDAP is passed to your script. If parts of the entry do not
123 match some logic of your script, just print an error message
124 to STDOUT. GOsa will show this message and abort the current
125 process of saving the entry to the LDAP.
127 .B Example menu definition:
129 .nf
130   <menu>
131     <section name="My account">
132       <plugin acl="users/user:self" class="user" check="/usr/local/bin/test_user.sh" />
133       <plugin acl="users/samba:self" class="sambaAccount" postcreate="/usr/local/bin/create_share '%uid'" />
134     </section>
135   </menu>
136 .fi
138 .SH Tabbed dialog definitions
140 Tab definitions define the sub plugins which get included for certain
141 tabbed dialogs. If you change something here, never (!) remove the
142 primary (the first) "tab" tag which is defined. Most tabbed dialogs
143 need a primary plugin.
145 .I "*tab"
146 should be looked for by a defined plugin. This one will take
147 every 
148 .I "tab"
149 defined
150 .I "class"
151 and will show it inside of a tabbed dialog
152 with the header defined in
153 .I "name".
155 .B Example tabbed dialog definition:
157 .nf
158   <grouptabs>
159     <tab class="group" name="Generic" />
160     <tab class="environment" name="Environment" />
161     <tab class="appgroup" name="Applications" />
162     <tab class="mailgroup" name="Mail" />
163   </grouptabs>
164 .fi
166 .SH Main section
168 The main section defines global settings, which might be overridden by
169 each location definition inside of this global definition.
171 .B Example layout:
173 .nf
174   <main default="Example Net"
175         listSummary="false"
176         ... >
178         <location name="Example Net"
179                   hash="md5"
180                   accountPrimaryAttribute="cn"
181                   ...
183                   <referral uri="ldaps://ldap.example.net:636/dc=example,dc=net"
184                             admin="cn=gosa-admin,dc=example,dc=net"
185                             password="secret" />
187         </location>
189   </main>
191 .fi
193 .PP
194 .B Generic options
196 .PP
197 .B forceGlobals
198 .I bool
199 .PP
200 The
201 .I forceGlobals
202 statement enables PHP security checks to force register_global settings to
203 be switched off.
204 .PP
206 .B forceSSL
207 .I bool
208 .PP
209 The
210 .I forceSSL
211 statement enables PHP security checks to force encrypted access to the web
212 interface. GOsa will try to redirect to the same URL - just with https://.
213 .PP
215 .B warnSSL
216 .I bool
217 .PP
218 The
219 .I warnSSL
220 statement enables PHP security checks to detect non encrypted access to
221 the web interface. GOsa will display a warning in this case.
222 .PP
224 .B modificationDetectionAttribute
225 .I string
226 .PP
227 The
228 .I modificationDetectionAttribute
229 statement enables GOsa to check if a entry currently being edited has
230 been modified from someone else outside GOsa in the meantime. It will
231 display an informative dialog then. It can be set to
232 .I entryCSN
233 for OpenLDAP based systems or
234 .I contextCSN
235 for Sun DS based systems.
236 .PP
238 .B logging
239 .I string
240 .PP
241 The
242 .I logging
243 statement enables event logging on GOsa side. Setting it to 
244 .I syslog,
245 GOsa will log every action a user performs via syslog. Setting it to
246 .I mysql,
247 GOsa will log every action to a mysql server, defined in the
248 GOsa systems plugin. Both values can be combined as a comma seperated
249 list.
251 GOsa will not log anything, if the logging value is empty.
252 .PP
254 .B loginAttribute
255 .I string
256 .PP
257 The
258 .I loginAttribute
259 statement tells GOsa which LDAP attribute is used as the login name
260 during login. It can be set to
261 .I uid, mail
262 or
263 .I both.
264 .PP
266 .B copyPaste
267 .I bool
268 .PP
269 The
270 .I copyPaste
271 statement enables copy and paste for LDAP entries managed with GOsa.
272 .PP
274 .B snapshots
275 .I bool
276 .PP
277 The
278 .I snapshots
279 statement enables a snapshot mechaism in GOsa. This enables you to save
280 certain states of entries and restore them later on.
281 .PP
283 .B snapshotBase
284 .I dn
285 .PP
286 The
287 .I snapshotBase
288 statement defines the base where snapshots should be stored inside of
289 the LDAP.
290 .PP
292 .B snapshotURI
293 .I uri 
294 .PP
295 The
296 .I snapshotURI
297 variable defines the LDAP URI for the server which is used to do object
298 snapshots.
299 .PP
301 .B snapshotAdminDn
302 .I dn
303 .PP
304 The
305 .I snapshotAdminDn
306 variable defines the user which is used to authenticate when connecting
307 to
308 .I snapshotURI.
309 .PP
311 .B snapshotAdminPassword
312 .I string
313 .PP
314 The
315 .I snapshotAdminPassword
316 variable defines the credentials which are used in combination with
317 .I snapshotAdminDn
318 and
319 .I snapshotURI
320 in order to authenticate.
321 .PP
323 .B config
324 .I dn
325 .PP
326 The
327 .I config
328 statement defines the LDAP base, where GOsa stores management information,
329 such as site wide locking and user notifications.
330 .PP
332 .B templateCompileDirectory
333 .I path
334 .PP
335 The
336 .I templateCompileDirectory
337 statements defines the path, where the PHP templating engins
338 .I smarty
339 should store its compiled GOsa templates for improved speed. This path
340 needs to be writeable by the user your webserver is running with.
341 .PP
343 .B timezone
344 .I string
345 .PP
346 The
347 .I timezone
348 statements defines the timezone used inside of GOsa to handle date
349 related tasks, such as password expiery, vacation messages, etc.
350 The
351 .I timezone
352 value should be a unix conform timezone value like in /etc/timezone.
353 .PP
355 .B honourIvbbAttributes
356 .I bool
357 .PP
358 The
359 .I honourIvbbAttributes
360 statement enables the IVBB mode inside of GOsa. You need the ivbb.schema
361 file from used by german authorities.
362 .PP
364 .B strictNamingRules
365 .I bool
366 .PP
367 The
368 .I strictNamingRules
369 statement enables strict checking of uids and group names. If you need
370 characters like . or - inside of your accounts, set this to
371 .I false.
372 .PP
374 .B honourUnitTags
375 .I bool
376 .PP
377 The
378 .I honourUnitTags
379 statement enables checking of
380 .I unitTag
381 attributes when using administrative units. If this is set to
382 .I true
383 GOsa can only see objects inside the administrative unit a
384 user is logged into.
385 .PP
387 .B rfc2307bis
388 .I bool
389 .PP
390 The
391 .I rfc2307bis
392 statement enables rfc2307bis style groups in GOsa. You can use
393 .I member
394 attributes instead of memberUid in this case. To make it work
395 on unix systems, you've to adjust your NSS configuration to
396 use rfc2307bis style groups, too.
397 .PP
399 .B ppdPath
400 .I path
401 .PP
402 The
403 .I ppdPath
404 variable defines where to store PPD files for the GOto environment plugins.
405 .PP
407 .B resolutions
408 .I path
409 .PP
410 The
411 .I resolutions
412 variable defines a plain text file which contains additional resolutions
413 to be shown in the environment and system plugins.
414 .PP
416 .B htaccessAuthentication
417 .I bool
418 .PP
419 The
420 .I htaccessAuthentication
421 variable tells GOsa to use either htaccess authentication or LDAP authentication. This
422 can be used if you want to use i.e. kerberos to authenticate the users.
423 .PP
425 .B gosaSupportURI
426 .I URI
427 .PP
428 The
429 .I gosaSupportURI
430 defines the major gosa-si server host and the password for GOsa to connect to it.
431 can be used if you want to use i.e. kerberos to authenticate the users.
433 The format is:
435 .nf
436 credentials@host:port
437 .fi
438 .PP
441 .B Browser and display options
443 .B listSummary
444 .I true/false
445 .PP
446 The
447 .I listSummary
448 statement determines whether a status bar will be shown on the bottom of
449 GOsa generated lists, displaying a short summary of type and number of
450 elements in the list.
451 .PP
453 .B iconsize
454 .I size value
455 .PP
456 The
457 .I iconsize
458 statement sets the icon size in the main menu. Its value should be something
459 like 48x48.
460 .PP
462 .B sendCompressedOutput
463 .I true/false
464 .PP
465 The
466 .I sendCompressedOutput
467 statement determines whether PHP should send compressed HTML pages to
468 browsers or not. This may increase or decrease the performance, depending
469 on your network.
470 .PP
472 .B storeFilterSettings
473 .I true/false
474 .PP
475 The
476 .I storeFilterSettings
477 statement determines whether GOsa should store filter and plugin settings
478 inside of a cookie.
479 .PP
481 .B language
482 .I string
483 .PP
484 The
485 .I language
486 statement defines the default language used by GOsa. Normally GOsa autodetects
487 the language from the browser settings. If this is not working or you want to
488 force the language, just add the language code (i.e. de for german) here.
489 .PP
491 .B theme
492 .I string
493 .PP
494 The
495 .I theme
496 statement defines what theme is used to display GOsa pages. You can install some
497 corporate identity like theme and/or modify certain templates to fit your needs
498 within themes. Take a look at the GOsa
499 .I FAQ
500 for more information.
501 .PP
503 .B sessionLifetime
504 .I int
505 .PP
506 The
507 .I sessionLifetime
508 value defines when a session will expire in seconds. For Debian systems, this will
509 not work because the sessions will be removed by a cron job instead. Please modify
510 the value inside of your php.ini instead.
511 .PP
513 .B primaryGroupFilter
514 .I bool
515 .PP
516 The
517 .I primaryGroupFilter
518 variable enables or disables the group filter to show primary user groups. It is
519 time consuming to evaluate which groups are primary and which are not. So you may
520 want to set it to
521 .I true
522 if your group plugin is slow.
523 .PP
525 .B iePngWorkaround
526 .I bool
527 .PP
528 The
529 .I iePngWorkaround
530 variable enables or disables a workaround for IE < 7 in order to display transparent
531 PNG files correctly. This drastically slows down browsing. Please use Firefox or Opera
532 instead.
533 .PP
534 .PP
537 .B Password options
538 .PP
539 .B passwordMinLength
540 .I integer
541 .PP
542 The
543 .I passwordMinLength
544 statement determines whether a newly entered password has to be of
545 a minimum length.
546 .PP
548 .B passwordMinDiffer
549 .I integer
550 .PP
551 The
552 .I passwordMinDiffer
553 statement determines whether a newly entered password has to be checked
554 to have at least n different characters.
555 .PP
557 .B passwordHook
558 .I path
559 .PP
560 The
561 .I passwordHook
562 can specify an external script to handle password settings at some other
563 location besides the LDAP. It will be called this way:
565 .nf
566 /path/to/your/script "username" "oldpassword" "newpassword"
567 .fi
569 .B handleExpiredAccounts
570 .I bool
571 .PP
572 The
573 .I handleExpiredAccounts
574 statement enables shadow attribute tests during the login to the GOsa web
575 interface and forces password renewal or account lockout.
576 .PP
578 .B useSaslForKerberos
579 .I bool
580 .PP
581 The
582 .I useSaslForKerberos
583 statement defines the way the kerberos realm is stored in the
584 .I userPassword
585 attribute. Set it to
586 .I true
587 in order to get {sasl}user@REALM.NET, or to
588 .I false
589 to get {kerberos}user@REALM.NET. The latter is outdated, but may be
590 needed from time to time.
591 .PP
592 .PP
595 .B LDAP options
596 .PP
597 .B ldapMaxQueryTime
598 .I integer
599 .PP
600 The
601 .I ldapMaxQueryTime
602 statement tells GOsa to stop LDAP actions if there is no answer within the
603 specified number of seconds.
604 .PP
606 .B schemaCheck
607 .I bool
608 .PP
609 The
610 .I schemaCheck
611 statement enables or disables schema checking during login. It is recommended
612 to switch this on in order to let GOsa handle object creation more efficient.
613 .PP
615 .B ldapTLS
616 .I bool
617 .PP
618 The
619 .I ldapTLS
620 statement enables or disables TLS operating on LDAP connections.
621 .PP
623 .B accountPrimaryAttribute
624 .I cn/uid
625 .PP
626 The
627 .I accountPrimaryAttribute
628 option tells GOsa how to create new accounts. Possible values are
629 .I uid
630 and
631 .I cn.
632 In the first case GOsa creates uid style DN entries:
633 .nf
634 uid=superuser,ou=staff,dc=example,dc=net
635 .fi
636 In the second case, GOsa creates cn style DN entries:
637 .nf
638 cn=Foo Bar,ou=staff,dc=example,dc=net
639 .fi
640 If you choose "cn" to be your
641 .I accountPrimaryAttribute
642 you can decide whether to include the personal title in your dn by
643 selecting
644 .I personalTitleInDN.
645 .PP
647 .B accountRDN
648 .I pattern
649 .PP
650 The
651 .I accountRDN
652 option tells GOsa to use a placeholder pattern for generating account
653 RDNs. A pattern can include attribute names prefaced by a % and normal
654 text:
655 .nf
656 accountRDN="cn=%sn %givenName"
657 .fi
658 This will generate a RDN consisting of cn=.... filled with surname and
659 given name of the edited account. This option disables the use of
660 .I accountPrimaryAttribute
661 and
662 .I personalTitleInDn
663 in your config. The latter attributes are maintained for compatibility.
666 .B personalTitleInDN
667 .I bool
668 .PP
669 The
670 .I personalTitleInDN
671 option tells GOsa to include the personal title in user DNs when
672 .I accountPrimaryAttribute
673 is set to "cn".
675 .B userRDN
676 .I string
677 .PP
678 The
679 .I userRDN
680 statement defines the location where new accounts will be created inside of
681 defined departments. The default is
682 .I ou=people.
683 .PP
685 .B groupsRDN
686 .I string
687 .PP
688 The
689 .I groupsRDN
690 statement defines the location where new groups will be created inside of
691 defined departments. The default is
692 .I ou=groups.
693 .PP
695 .B sudoRDN
696 .I string
697 .PP
698 The
699 .I sudoRDN
700 statement defines the location where new groups will be created inside of
701 defined departments. The default is
702 .I ou=groups.
703 .PP
705 .B sambaMachineAccountRDN
706 .I string
707 .PP
708 This statement defines the location where GOsa looks for new samba workstations.
709 .PP
711 .B ogroupRDN
712 .I string
713 .PP
714 This statement defines the location where GOsa creates new object groups inside of defined
715 departments. Default is
716 .I ou=groups.
717 .PP
719 .B serverRDN
720 .I string
721 .PP
722 This statement defines the location where GOsa creates new servers inside of defined
723 departments. Default is
724 .I ou=servers.
725 .PP
727 .B terminalRDN
728 .I string
729 .PP
730 This statement defines the location where GOsa creates new terminals inside of defined
731 departments. Default is
732 .I ou=terminals.
733 .PP
735 .B workstationRDN
736 .I string
737 .PP
738 This statement defines the location where GOsa creates new workstations inside of defined
739 departments. Default is
740 .I ou=workstations.
741 .PP
743 .B printerRDN
744 .I string
745 .PP
746 This statement defines the location where GOsa creates new printers inside of defined
747 departments. Default is
748 .I ou=printers.
749 .PP
751 .B componentRDN
752 .I string
753 .PP
754 This statement defines the location where GOsa creates new network components inside of defined
755 departments. Default is
756 .I ou=components.
757 .PP
759 .B phoneRDN
760 .I string
761 .PP
762 This statement defines the location where GOsa creates new phones inside of defined
763 departments. Default is
764 .I ou=phones.
765 .PP
767 .B phoneConferenceRDN
768 .I string
769 .PP
770 This statement defines the location where GOsa creates new phone conferences inside of defined
771 departments. Default is
772 .I ou=conferences.
773 .PP
775 .B faxBlocklistRDN
776 .I string
777 .PP
778 This statement defines the location where GOsa creates new fax blocklists inside of defined
779 departments. Default is
780 .I ou=blocklists.
781 .PP
783 .B systemIncomingRDN
784 .I string
785 .PP
786 This statement defines the location where GOsa looks for new systems to be joined to the LDAP.
787 Default is
788 .I ou=incoming.
789 .PP
791 .B systemRDN
792 .I string
793 .PP
794 This statement defines the base location for servers, workstations, terminals, phones and
795 components. Default is
796 .I ou=systems.
797 .PP
799 .B ogroupRDN
800 .I string
801 .PP
802 This statement defines the location where GOsa looks for object groups.
803 Default is
804 .I ou=groups.
805 .PP
807 .B aclRoleRDN
808 .I string
809 .PP
810 This statement defines the location where GOsa stores ACL role definitions.
811 Default is
812 .I ou=aclroles.
813 .PP
815 .B phoneMacroRDN
816 .I string
817 .PP
818 This statement defines the location where GOsa stores phone macros for use with the Asterisk
819 phone server.
820 Default is
821 .I ou=macros,ou=asterisk,ou=configs,ou=systems.
822 .PP
824 .B faiBaseRDN
825 .I string
826 .PP
827 This statement defines the location where GOsa looks for FAI settings.
828 Default is
829 .I ou=fai,ou=configs,ou=systems.
830 .PP
832 .B faiScriptRDN, faiHookRDN, faiTemplateRDN, faiVariableRDN, faiProfileRDN, faiPackageRDN, faiPartitionRDN 
833 .I string
834 .PP
835 These statement define the location where GOsa stores FAI classes. The complete base for the
836 corresponding class is an additive of
837 .B faiBaseRDN
838 an and this value.
839 .PP
841 .B deviceRDN
842 .I string
843 .PP
844 This statement defines the location where GOsa looks for devices.
845 Default is
846 .I ou=devices.
847 .PP
849 .B mimetypeRDN
850 .I string
851 .PP
852 This statement defines the location where GOsa stores mime type definitions.
853 Default is
854 .I ou=mimetypes.
855 .PP
857 .B applicationRDN
858 .I string
859 .PP
860 This statement defines the location where GOsa stores application definitions.
861 Default is
862 .I ou=apps.
863 .PP
865 .B ldapFilterNestingLimit
866 .I integer
867 .PP
868 The
869 .I ldapFilterNestingLimit
870 statement can be used to speed up group handling for groups with several hundreds of members.
871 The default behaviour is, that GOsa will resolv the memberUid values in a group to real names.
872 To achieve this, it writes a single filter to minimize searches. Some LDAP servers (namely
873 Sun DS) simply crash when the filter gets too big. You can set a member limit, where GOsa will
874 stop to do these lookups.
875 .PP
877 .B ldapSizelimit
878 .I integer
879 .PP
880 The
881 .I ldapSizelimit
882 statement tells GOsa to retrieve the specified maximum number of results. The user will get
883 a warning, that not all entries were shown.
884 .PP
886 .B ldapFollowReferrals
887 .I bool
888 .PP
889 The
890 .I ldapFollowReferrals
891 statement tells GOsa to follow LDAP referrals.
892 .PP
893 .PP
896 .B Account creation options
897 .PP
898 .B uidNumberBase
899 .I integer
900 .PP
901 The
902 .I uidNumberBase
903 statement defines where to start looking for a new free user id. This should be synced
904 with your
905 .I adduser.conf
906 to avoid overlapping uidNumber values between local and LDAP based lookups. The uidNumberBase
907 can even be dynamic. Take a look at the
908 .I baseIdHook
909 definition below.
910 .PP
912 .B gidNumberBase
913 .I integer
914 .PP
915 The
916 .I gidNumberBase
917 statement defines where to start looking for a new free group id. This should be synced
918 with your
919 .I adduser.conf
920 to avoid overlapping gidNumber values between local and LDAP based lookups. The gidNumberBase
921 can even be dynamic. Take a look at the
922 .I nextIdHook
923 definition below.
924 .PP
926 .B idAllocationMethod
927 .I traditional/pool
928 .PP
929 The
930 .I idAllocationMethod
931 statement defines how GOsa generates numeric user and group id values. If it is set to
932 .I traditional
933 GOsa will do create a lock and perform a search for the next free ID. The lock will be
934 removed after the procedure completes.
935 .I pool
936 will use the sambaUnixIdPool objectclass settings inside your LDAP. This one is unsafe,
937 because it does not check for concurrent LDAP access and already used IDs in this range. 
938 On the other hand it is much faster.
939 .PP
941 .B minId
942 .I integer
943 .PP
944 The
945 .I minId
946 statement defines the minimum assignable user or group id to avoid security leaks with
947 uid 0 accounts. This is used for the
948 .I traditional
949 method
950 .PP
952 .B uidNumberPoolMin/gidNumberPoolMin
953 .I integer
954 .PP
955 The
956 .I uidNumberPoolMin/gidNumberPoolMin
957 statement defines the minimum assignable user/group id for use with the
958 .I pool
959 method.
960 .PP
962 .B uidNumberPoolMax/gidNumberPoolMax
963 .I integer
964 .PP
965 The
966 .I uidNumberPoolMin/gidNumberPoolMin
967 statement defines the highest assignable user/group id for use with the
968 .I pool
969 method.
970 .PP
972 .B nextIdHook
973 .I path
974 .PP
975 The
976 .I nextIdHook
977 statement defines a script to be called for finding the next free id for users or groups
978 externaly. It gets called with the current entry "dn" and the attribute to be ID'd. It
979 should return an integer value.
980 .PP
982 .B hash
983 .I string
984 .PP
985 The
986 .I hash
987 statement defines the default password hash to choose for new accounts. Valid values are
988 .I crypt/standard-des, crypt/md5, crypt/enhanced-des, crypt/blowfish, md5, sha, ssha, smd5, clear
989 and
990 .I sasl.
991 These values will be overridden when using templates.
992 .PP
994 .B idGenerator
995 .I string
996 .PP
997 The
998 .I idGenerator
999 statement describes an automatic way to generate new user ids. There are two basic
1000 functions supported - which can be combined:
1002  a) using attributes
1004     You can specify LDAP attributes (currently only sn and givenName) in
1005     braces {} and add a percent sign befor it. Optionally you can strip it
1006     down to a number of characters, specified in []. I.e.
1008 .nf
1009       idGenerator="{%sn}-{%givenName[2-4]}"
1010 .fi
1012     will generate an ID using the full surename, adding a dash, and adding at
1013     least the first two characters of givenName. If this ID is used, it'll
1014     use up to four characters. If no automatic generation is possible, a
1015     input box is shown.
1017  b) using automatic id's
1019     I.e. specifying
1021 .nf
1022       idGenerator="acct{id:3}"
1023 .fi
1025     will generate a three digits id with the next free entry appended to
1026     "acct".
1028 .nf
1029       idGenerator="acct{id!1}"
1030 .fi
1032     will generate a one digit id with the next free entry appended to
1033     "acct" - if needed.
1035 .nf
1036       idGenerator="ext{id#3}"
1037 .fi
1039     will generate a three digits random number appended to "ext".
1040 .PP
1041 .PP
1044 .B Samba options
1045 .PP
1046 .B sambaSID
1047 .I string
1048 .PP
1049 The
1050 .I sambaSID
1051 statement defines a samba SID if not available inside of the LDAP. You can retrieve
1052 the current sid by
1053 .I net getlocalsid.
1054 .PP
1056 .B sambaRidBase
1057 .I integer
1058 .PP
1059 The
1060 .I sambaRidBase
1061 statement defines the base id to add to ordinary sid calculations - if not available
1062 inside of the LDAP.
1063 .PP
1065 .B sambaHashHook
1066 .I path
1067 .PP
1068 The
1069 .I sambaHashHook
1070 statement contains an executable to generate samba hash values. This is required
1071 for password synchronization, but not required if you apply gosa-si services.
1072 If you don't have mkntpasswd from the samba distribution installed, you can use
1073 perl to generate the hash:
1075 .nf
1076 perl -MCrypt::SmbHash -e "print join(q[:], ntlmgen \\$ARGV[0]), $/;"
1077 .if
1078 .PP
1080 .B sambaidmapping
1081 .I bool
1082 .PP
1083 The
1084 .I sambaidmapping
1085 statement tells GOsa to maintain sambaIdmapEntry objects. Depending on your
1086 setup this can drastically improve the windows login performance.
1087 .PP
1088 .PP
1090 .B Asterisk options
1091 .PP
1092 .B ctiHook
1093 .I path
1094 .PP
1095 The
1096 .I ctiHook
1097 statement defines a script to be executed if someone clicks on a phone number
1098 inside of the addressbook plugin. It gets called with two parameters:
1100 .nf
1101 ctiHook $source_number $destination_number
1102 .fi
1104 This script can be used to do automatted dialing from the addressbook.
1105 .PP
1106 .PP
1108 .B Mail options
1109 .PP
1110 .B mailMethod
1111 .I Cyrus/SendmailCyrus/Kolab/Kolab22
1112 .PP
1113 The
1114 .I mailMethod
1115 statement tells GOsa which mail method the setup should use to communicate
1116 with a possible mail server. Leave this undefined if your mail method does
1117 not match the predefined ones.
1119 .I Cyrus
1120 maintains accounts and sieve scripts in cyrus servers.
1121 .I Kolab/Kolab22
1122 is like cyrus, but lets the kolab daemon maintain the accounts.
1123 .I SendmailCyrus is based on sendmail LDAP attributes.
1124 .PP
1126 .B cyrusUseSlashes
1127 .I bool
1128 .PP
1129 The
1130 .I cyrusUseSlashes
1131 statement determines if GOsa should use "foo/bar" or "foo.bar" namespaces
1132 in IMAP. Unix style is with slashes.
1134 .B postfixRestrictionFilters
1135 .I path
1136 .PP
1137 The
1138 .I postfixRestrictionFilters
1139 statement defines a file to include for the postfix module in order
1140 to display user defined restriction filters.
1142 .B postfixProtocols
1143 .I path
1144 .PP
1145 The
1146 .I postfixProtocols
1147 statement defines a file to include for the postfix module in order
1148 to display user defined protocols.
1150 .B mailAttribute
1151 .I mail/uid
1152 .PP
1153 The
1154 .I mailAttribute
1155 statement determines which attribute GOsa will use to create accounts.
1156 Valid values are
1157 .I mail
1158 and
1159 .I uid.
1161 .B imapTimeout
1162 .I Integer (default 10) 
1163 .PP
1164 The
1165 .I imapTimeout
1166 statement sets the connection timeout for imap actions.
1168 .B mailFolderCreation
1169 Every mail method has its own way to create mail accounts like 
1170 .I share/development
1171 or 
1172 .I shared.development@example.com
1173 which is used to identify the accounts, set quotas or add acls. 
1175 To override the methods default account creation syntax, you can set the
1176 .I mailFolderCreation
1177 option.
1179 .I Examples
1181 .nf
1182  mailFolderCreation="%prefix%%cn%"              => "shared.development"
1183  mailFolderCreation="my-prefix.%cn%%domain%"    => "my-prefix.development@example.com">
1184 .fi
1186 .I Placeholders
1188 .nf
1189  %prefix%    The methods default prefix. (Depends on cyrusUseSlashes=FALSE/TRUE)
1190  %cn%        The groups/users cn.
1191  %uid%       The users uid.
1192  %mail%      The objects mail attribute.
1193  %domain%    The domain part of the objects mail attribute.
1194  %mailpart%  The user address part of the mail address.
1195  %uattrib%   Depends on mailAttribute="uid/mail".
1196 .fi
1199 .B mailUserCreation
1200 This attribute allows to override the user account creation syntax, see
1201 the
1202 .I mailFolderCreation
1203 description for more details. 
1205 .I Examples
1207 .nf
1208  mailUserCreation="%prefix%%uid%"           => "user.foobar"
1209  mailUserCreation=my-prefix.%uid%%domain%"  => "my-prefix.foobar@example.com"
1210 .fi
1213 .B vacationTemplateDirectory
1214 .I path
1215 .PP
1216 The
1217 .I vacationTemplateDirectory
1218 statement sets the path where GOsa will look for vacation message
1219 templates. Default is /etc/gosa/vacation.
1221 Example template /etc/gosa/vacation/business.txt:
1223 .nf
1224    DESC:Away from desk
1225    Hi, I'm currently away from my desk. You can contact me on
1226    my cell phone via %mobile.
1228    Greetings,
1229    %givenName %sn
1230 .fi
1231 .PP
1234 .B Debug options
1235 .PP
1236 .B displayerrors
1237 .I bool
1238 .PP
1239 The
1240 .I displayerrors
1241 statement tells GOsa to show PHP errors in the upper part of the screen. This
1242 should be disabled in productive deployments, because there might be some
1243 important passwords arround.
1244 .PP
1246 .B ldapstats
1247 .I bool
1248 .PP
1249 The
1250 .I ldapstats
1251 statement tells GOsa to track LDAP timing statistics to the syslog. This may
1252 help to find indexing problems or bad search filters.
1253 .PP
1255 .B ignoreAcl
1256 .I dn
1257 .PP
1258 The
1259 .I ignoreAcl
1260 value tells GOsa to ignore complete ACL sets for the given DN. Add your
1261 DN here and you'll be able to restore accidently dropped ACLs.
1262 .PP
1264 .B debuglevel
1265 .I integer
1266 .PP
1267 The
1268 .I debuglevel
1269 value tells GOsa to display certain information on each page load. Value
1270 is an AND combination of the following byte values:
1272 DEBUG_TRACE   = 1
1274 DEBUG_LDAP    = 2
1276 DEBUG_MYSQL   = 4
1278 DEBUG_SHELL   = 8
1280 DEBUG_POST    = 16
1282 DEBUG_SESSION = 32
1284 DEBUG_CONFIG  = 64
1286 DEBUG_ACL     = 128
1288 DEBUG_SI      = 256
1290 DEBUG_MAIL    = 512
1291 .PP
1294 .SH LDAP resource definition
1296 For every location you define inside your gosa.conf, you need at least
1297 one entry of the type
1298 .I referral.
1299 These entries define the way how to connect to some directory service.
1301 .B Example:
1303 .nf
1304   <referral uri="ldap://ldap.example.net/dc=example,dc=net"
1305             admin="cn=gosa-admin,dc=example,dc=net"
1306             password="secret" />
1307 .fi
1309 .I uri
1310 is a valid LDAP uri extendet by the base this referral is responsible for.
1311 .I admin
1312 is the DN which has the permission to write LDAP entries. And
1313 .I password
1314 is the corresponding password for this DN.
1316 You can define a set of referrals if you have several server to
1317 connect to.
1319 .SH Settings for the environment plugin
1321 In order to make full use of the environment plugin, you may want
1322 to define the location where kiosk profiles will be stored on the
1323 servers harddisk.
1325 This is done by the
1326 .I kioskPath
1327 keyword defined within the
1328 .I environment
1329 class definition inside your gosa.conf.
1331 .B Example:
1333 .nf
1334   <plugin acl="users/environment"
1335           class="environment"
1336           kioskPath="/var/spool/kiosk"/>
1337 .fi
1339 Make sure, that this path is writeable by GOsa.
1341 .SH Settings for the FAI plugin
1343 The FAI plugin can be used in a way that it generates branched or
1344 freezed releases inside your repository. Specifying the
1345 .I postcreate
1346 and
1347 .I postmodify
1348 keywords in the
1349 .I servrepository
1350 definition, calls the provided script as a hook when adding or
1351 removing branches. This script should do the rest inside of your
1352 repository.
1354 .B Example:
1356 .nf
1357   <tab class="servrepository" 
1358           repositoryBranchHook="/opt/dak/bin/get_extra_repos"
1359           postcreate="/opt/dak/bin/handle_repository '%lock_dn' '%lock_name' '%lock_type' />
1360 .fi
1362 .I %lock_dn
1363 keeps the base DN of the source branch,
1364 .I %lock_name
1365 the name of the new branch and
1366 .I %lock_type
1367 is either "freeze" or "branch".
1369 The
1370 .I repositoryBranchHook
1371 outputs additional releases, that are not retrieveable with the standard
1372 GOsa/FAI methods.
1374 If you have only one release, or want to define a default release to be shown
1375 by GOsa, define the
1376 .I defaultFaiRelease
1377 within the 
1378 .I faiManagement
1379 class definition
1381 .SH Settings for the addressbook plugin
1383 The addressbook plugin can be configured to store the addressbook data on
1384 a special location. Use the
1385 .I addressbookBaseDN
1386 keyword within the
1387 .I addressbook
1388 class definition inside your gosa.conf to configure this location.
1390 Default:
1391 .I ou=addressbook.
1393 .SH Settings for system plugins
1394 For the
1395 .I workstationStartup
1396 and
1397 .I terminalStartup
1398 classes, you can define the
1399 .I systemKernelsHook
1400 keyword. It can load additional kernels that are not retrieveable by
1401 standard GOsa/FAI mechanisms.
1403 In order to make use of SNMP information, you can set the
1404 .I snmpCommunity
1405 in the
1406 .I terminfo
1407 class definition.
1409 To enable the burn CD image function, you can specify the
1410 .I systemIsoHook
1411 in the
1412 .I workgeneric
1413 class. You will get a CD symbol in the systems list - which calls
1414 the hook if pressed.
1416 .SH AUTHOR
1417 .B gosa.conf(5)
1418 was written by Cajus Pollmeier for
1419 the GOsa project (
1420 .B http://www.gosa-project.org
1421 ).