Code

fixed property
[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 postremove,
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 true,
245 GOsa will log every action a user performs via syslog. If you use
246 rsyslog and configure it to mysql logging, you can browse all events
247 within GOsa.
249 GOsa will not log anything, if the logging value is empty or set to
250 false.
251 .PP
253 .B loginAttribute
254 .I string
255 .PP
256 The
257 .I loginAttribute
258 statement tells GOsa which LDAP attribute is used as the login name
259 during login. It can be set to
260 .I uid, mail
261 or
262 .I both.
263 .PP
265 .B copyPaste
266 .I bool
267 .PP
268 The
269 .I copyPaste
270 statement enables copy and paste for LDAP entries managed with GOsa.
271 .PP
273 .B snapshots
274 .I bool
275 .PP
276 The
277 .I snapshots
278 statement enables a snapshot mechaism in GOsa. This enables you to save
279 certain states of entries and restore them later on.
280 .PP
282 .B snapshotBase
283 .I dn
284 .PP
285 The
286 .I snapshotBase
287 statement defines the base where snapshots should be stored inside of
288 the LDAP.
289 .PP
291 .B snapshotURI
292 .I uri 
293 .PP
294 The
295 .I snapshotURI
296 variable defines the LDAP URI for the server which is used to do object
297 snapshots.
298 .PP
300 .B snapshotAdminDn
301 .I dn
302 .PP
303 The
304 .I snapshotAdminDn
305 variable defines the user which is used to authenticate when connecting
306 to
307 .I snapshotURI.
308 .PP
310 .B snapshotAdminPassword
311 .I string
312 .PP
313 The
314 .I snapshotAdminPassword
315 variable defines the credentials which are used in combination with
316 .I snapshotAdminDn
317 and
318 .I snapshotURI
319 in order to authenticate.
320 .PP
322 .B config
323 .I dn
324 .PP
325 The
326 .I config
327 statement defines the LDAP base, where GOsa stores management information,
328 such as site wide locking and user notifications.
329 .PP
331 .B templateCompileDirectory
332 .I path
333 .PP
334 The
335 .I templateCompileDirectory
336 statements defines the path, where the PHP templating engins
337 .I smarty
338 should store its compiled GOsa templates for improved speed. This path
339 needs to be writeable by the user your webserver is running with.
340 .PP
342 .B timezone
343 .I string
344 .PP
345 The
346 .I timezone
347 statements defines the timezone used inside of GOsa to handle date
348 related tasks, such as password expiery, vacation messages, etc.
349 The
350 .I timezone
351 value should be a unix conform timezone value like in /etc/timezone.
352 .PP
354 .B honourIvbbAttributes
355 .I bool
356 .PP
357 The
358 .I honourIvbbAttributes
359 statement enables the IVBB mode inside of GOsa. You need the ivbb.schema
360 file from used by german authorities.
361 .PP
363 .B strictNamingRules
364 .I bool
365 .PP
366 The
367 .I strictNamingRules
368 statement enables strict checking of uids and group names. If you need
369 characters like . or - inside of your accounts, set this to
370 .I false.
371 .PP
373 .B honourUnitTags
374 .I bool
375 .PP
376 The
377 .I honourUnitTags
378 statement enables checking of
379 .I unitTag
380 attributes when using administrative units. If this is set to
381 .I true
382 GOsa can only see objects inside the administrative unit a
383 user is logged into.
384 .PP
386 .B rfc2307bis
387 .I bool
388 .PP
389 The
390 .I rfc2307bis
391 statement enables rfc2307bis style groups in GOsa. You can use
392 .I member
393 attributes instead of memberUid in this case. To make it work
394 on unix systems, you've to adjust your NSS configuration to
395 use rfc2307bis style groups, too.
396 .PP
398 .B ppdPath
399 .I path
400 .PP
401 The
402 .I ppdPath
403 variable defines where to store PPD files for the GOto environment plugins.
404 .PP
406 .B resolutions
407 .I path
408 .PP
409 The
410 .I resolutions
411 variable defines a plain text file which contains additional resolutions
412 to be shown in the environment and system plugins.
413 .PP
415 .B htaccessAuthentication
416 .I bool
417 .PP
418 The
419 .I htaccessAuthentication
420 variable tells GOsa to use either htaccess authentication or LDAP authentication. This
421 can be used if you want to use i.e. kerberos to authenticate the users.
422 .PP
424 .B gosaSupportURI
425 .I URI
426 .PP
427 The
428 .I gosaSupportURI
429 defines the major gosa-si server host and the password for GOsa to connect to it.
430 can be used if you want to use i.e. kerberos to authenticate the users.
432 The format is:
434 .nf
435 credentials@host:port
436 .fi
437 .PP
440 .B Browser and display options
442 .B listSummary
443 .I true/false
444 .PP
445 The
446 .I listSummary
447 statement determines whether a status bar will be shown on the bottom of
448 GOsa generated lists, displaying a short summary of type and number of
449 elements in the list.
450 .PP
452 .B sendCompressedOutput
453 .I true/false
454 .PP
455 The
456 .I sendCompressedOutput
457 statement determines whether PHP should send compressed HTML pages to
458 browsers or not. This may increase or decrease the performance, depending
459 on your network.
460 .PP
462 .B storeFilterSettings
463 .I true/false
464 .PP
465 The
466 .I storeFilterSettings
467 statement determines whether GOsa should store filter and plugin settings
468 inside of a cookie.
469 .PP
471 .B language
472 .I string
473 .PP
474 The
475 .I language
476 statement defines the default language used by GOsa. Normally GOsa autodetects
477 the language from the browser settings. If this is not working or you want to
478 force the language, just add the language code (i.e. de for german) here.
479 .PP
481 .B theme
482 .I string
483 .PP
484 The
485 .I theme
486 statement defines what theme is used to display GOsa pages. You can install some
487 corporate identity like theme and/or modify certain templates to fit your needs
488 within themes. Take a look at the GOsa
489 .I FAQ
490 for more information.
491 .PP
493 .B sessionLifetime
494 .I int
495 .PP
496 The
497 .I sessionLifetime
498 value defines when a session will expire in seconds. For Debian systems, this will
499 not work because the sessions will be removed by a cron job instead. Please modify
500 the value inside of your php.ini instead.
501 .PP
503 .B primaryGroupFilter
504 .I bool
505 .PP
506 The
507 .I primaryGroupFilter
508 variable enables or disables the group filter to show primary user groups. It is
509 time consuming to evaluate which groups are primary and which are not. So you may
510 want to set it to
511 .I true
512 if your group plugin is slow.
513 .PP
515 .B iePngWorkaround
516 .I bool
517 .PP
518 The
519 .I iePngWorkaround
520 variable enables or disables a workaround for IE < 7 in order to display transparent
521 PNG files correctly. This drastically slows down browsing. Please use Firefox or Opera
522 instead.
523 .PP
524 .PP
527 .B Password options
528 .PP
529 .B passwordMinLength
530 .I integer
531 .PP
532 The
533 .I passwordMinLength
534 statement determines whether a newly entered password has to be of
535 a minimum length.
536 .PP
538 .B passwordMinDiffer
539 .I integer
540 .PP
541 The
542 .I passwordMinDiffer
543 statement determines whether a newly entered password has to be checked
544 to have at least n different characters.
545 .PP
547 .B passwordHook
548 .I path
549 .PP
550 The
551 .I passwordHook
552 can specify an external script to handle password settings at some other
553 location besides the LDAP. It will be called this way:
555 .nf
556 /path/to/your/script "username" "oldpassword" "newpassword"
557 .fi
559 .B strictPasswordRules
560 .I bool
561 .PP
562 The
563 .I strictPasswordRules
564 tells GOsa to check for UTF-8 characters in the supplied password. These
565 Characters can lead to non working authentications if UTF-8 and none
566 UTF-8 systems locales get mixed. The default is "true".
568 .B handleExpiredAccounts
569 .I bool
570 .PP
571 The
572 .I handleExpiredAccounts
573 statement enables shadow attribute tests during the login to the GOsa web
574 interface and forces password renewal or account lockout.
575 .PP
577 .B useSaslForKerberos
578 .I bool
579 .PP
580 The
581 .I useSaslForKerberos
582 statement defines the way the kerberos realm is stored in the
583 .I userPassword
584 attribute. Set it to
585 .I true
586 in order to get {sasl}user@REALM.NET, or to
587 .I false
588 to get {kerberos}user@REALM.NET. The latter is outdated, but may be
589 needed from time to time.
590 .PP
591 .PP
594 .B LDAP options
595 .PP
596 .B ldapMaxQueryTime
597 .I integer
598 .PP
599 The
600 .I ldapMaxQueryTime
601 statement tells GOsa to stop LDAP actions if there is no answer within the
602 specified number of seconds.
603 .PP
605 .B schemaCheck
606 .I bool
607 .PP
608 The
609 .I schemaCheck
610 statement enables or disables schema checking during login. It is recommended
611 to switch this on in order to let GOsa handle object creation more efficient.
612 .PP
614 .B ldapTLS
615 .I bool
616 .PP
617 The
618 .I ldapTLS
619 statement enables or disables TLS operating on LDAP connections.
620 .PP
622 .B accountPrimaryAttribute
623 .I cn/uid
624 .PP
625 The
626 .I accountPrimaryAttribute
627 option tells GOsa how to create new accounts. Possible values are
628 .I uid
629 and
630 .I cn.
631 In the first case GOsa creates uid style DN entries:
632 .nf
633 uid=superuser,ou=staff,dc=example,dc=net
634 .fi
635 In the second case, GOsa creates cn style DN entries:
636 .nf
637 cn=Foo Bar,ou=staff,dc=example,dc=net
638 .fi
639 If you choose "cn" to be your
640 .I accountPrimaryAttribute
641 you can decide whether to include the personal title in your dn by
642 selecting
643 .I personalTitleInDN.
644 .PP
646 .B accountRDN
647 .I pattern
648 .PP
649 The
650 .I accountRDN
651 option tells GOsa to use a placeholder pattern for generating account
652 RDNs. A pattern can include attribute names prefaced by a % and normal
653 text:
654 .nf
655 accountRDN="cn=%sn %givenName"
656 .fi
657 This will generate a RDN consisting of cn=.... filled with surname and
658 given name of the edited account. This option disables the use of
659 .I accountPrimaryAttribute
660 and
661 .I personalTitleInDn
662 in your config. The latter attributes are maintained for compatibility.
665 .B personalTitleInDN
666 .I bool
667 .PP
668 The
669 .I personalTitleInDN
670 option tells GOsa to include the personal title in user DNs when
671 .I accountPrimaryAttribute
672 is set to "cn".
674 .B userRDN
675 .I string
676 .PP
677 The
678 .I userRDN
679 statement defines the location where new accounts will be created inside of
680 defined departments. The default is
681 .I ou=people.
682 .PP
684 .B groupsRDN
685 .I string
686 .PP
687 The
688 .I groupsRDN
689 statement defines the location where new groups will be created inside of
690 defined departments. The default is
691 .I ou=groups.
692 .PP
694 .B sudoRDN
695 .I string
696 .PP
697 The
698 .I sudoRDN
699 statement defines the location where new groups will be created inside of
700 defined departments. The default is
701 .I ou=groups.
702 .PP
704 .B sambaMachineAccountRDN
705 .I string
706 .PP
707 This statement defines the location where GOsa looks for new samba workstations.
708 .PP
710 .B ogroupRDN
711 .I string
712 .PP
713 This statement defines the location where GOsa creates new object groups inside of defined
714 departments. Default is
715 .I ou=groups.
716 .PP
718 .B serverRDN
719 .I string
720 .PP
721 This statement defines the location where GOsa creates new servers inside of defined
722 departments. Default is
723 .I ou=servers.
724 .PP
726 .B terminalRDN
727 .I string
728 .PP
729 This statement defines the location where GOsa creates new terminals inside of defined
730 departments. Default is
731 .I ou=terminals.
732 .PP
734 .B workstationRDN
735 .I string
736 .PP
737 This statement defines the location where GOsa creates new workstations inside of defined
738 departments. Default is
739 .I ou=workstations.
740 .PP
742 .B printerRDN
743 .I string
744 .PP
745 This statement defines the location where GOsa creates new printers inside of defined
746 departments. Default is
747 .I ou=printers.
748 .PP
750 .B componentRDN
751 .I string
752 .PP
753 This statement defines the location where GOsa creates new network components inside of defined
754 departments. Default is
755 .I ou=components.
756 .PP
758 .B phoneRDN
759 .I string
760 .PP
761 This statement defines the location where GOsa creates new phones inside of defined
762 departments. Default is
763 .I ou=phones.
764 .PP
766 .B phoneConferenceRDN
767 .I string
768 .PP
769 This statement defines the location where GOsa creates new phone conferences inside of defined
770 departments. Default is
771 .I ou=conferences.
772 .PP
774 .B faxBlocklistRDN
775 .I string
776 .PP
777 This statement defines the location where GOsa creates new fax blocklists inside of defined
778 departments. Default is
779 .I ou=blocklists.
780 .PP
782 .B systemIncomingRDN
783 .I string
784 .PP
785 This statement defines the location where GOsa looks for new systems to be joined to the LDAP.
786 Default is
787 .I ou=incoming.
788 .PP
790 .B systemRDN
791 .I string
792 .PP
793 This statement defines the base location for servers, workstations, terminals, phones and
794 components. Default is
795 .I ou=systems.
796 .PP
798 .B ogroupRDN
799 .I string
800 .PP
801 This statement defines the location where GOsa looks for object groups.
802 Default is
803 .I ou=groups.
804 .PP
806 .B aclRoleRDN
807 .I string
808 .PP
809 This statement defines the location where GOsa stores ACL role definitions.
810 Default is
811 .I ou=aclroles.
812 .PP
814 .B phoneMacroRDN
815 .I string
816 .PP
817 This statement defines the location where GOsa stores phone macros for use with the Asterisk
818 phone server.
819 Default is
820 .I ou=macros,ou=asterisk,ou=configs,ou=systems.
821 .PP
823 .B faiBaseRDN
824 .I string
825 .PP
826 This statement defines the location where GOsa looks for FAI settings.
827 Default is
828 .I ou=fai,ou=configs,ou=systems.
829 .PP
831 .B faiScriptRDN, faiHookRDN, faiTemplateRDN, faiVariableRDN, faiProfileRDN, faiPackageRDN, faiPartitionRDN 
832 .I string
833 .PP
834 These statement define the location where GOsa stores FAI classes. The complete base for the
835 corresponding class is an additive of
836 .B faiBaseRDN
837 an and this value.
838 .PP
840 .B deviceRDN
841 .I string
842 .PP
843 This statement defines the location where GOsa looks for devices.
844 Default is
845 .I ou=devices.
846 .PP
848 .B mimetypeRDN
849 .I string
850 .PP
851 This statement defines the location where GOsa stores mime type definitions.
852 Default is
853 .I ou=mimetypes.
854 .PP
856 .B applicationRDN
857 .I string
858 .PP
859 This statement defines the location where GOsa stores application definitions.
860 Default is
861 .I ou=apps.
862 .PP
864 .B ldapFilterNestingLimit
865 .I integer
866 .PP
867 The
868 .I ldapFilterNestingLimit
869 statement can be used to speed up group handling for groups with several hundreds of members.
870 The default behaviour is, that GOsa will resolv the memberUid values in a group to real names.
871 To achieve this, it writes a single filter to minimize searches. Some LDAP servers (namely
872 Sun DS) simply crash when the filter gets too big. You can set a member limit, where GOsa will
873 stop to do these lookups.
874 .PP
876 .B ldapSizelimit
877 .I integer
878 .PP
879 The
880 .I ldapSizelimit
881 statement tells GOsa to retrieve the specified maximum number of results. The user will get
882 a warning, that not all entries were shown.
883 .PP
885 .B ldapFollowReferrals
886 .I bool
887 .PP
888 The
889 .I ldapFollowReferrals
890 statement tells GOsa to follow LDAP referrals.
891 .PP
892 .PP
895 .B Account creation options
896 .PP
897 .B uidNumberBase
898 .I integer
899 .PP
900 The
901 .I uidNumberBase
902 statement defines where to start looking for a new free user id. This should be synced
903 with your
904 .I adduser.conf
905 to avoid overlapping uidNumber values between local and LDAP based lookups. The uidNumberBase
906 can even be dynamic. Take a look at the
907 .I baseIdHook
908 definition below.
909 .PP
911 .B gidNumberBase
912 .I integer
913 .PP
914 The
915 .I gidNumberBase
916 statement defines where to start looking for a new free group id. This should be synced
917 with your
918 .I adduser.conf
919 to avoid overlapping gidNumber values between local and LDAP based lookups. The gidNumberBase
920 can even be dynamic. Take a look at the
921 .I nextIdHook
922 definition below.
923 .PP
925 .B idAllocationMethod
926 .I traditional/pool
927 .PP
928 The
929 .I idAllocationMethod
930 statement defines how GOsa generates numeric user and group id values. If it is set to
931 .I traditional
932 GOsa will do create a lock and perform a search for the next free ID. The lock will be
933 removed after the procedure completes.
934 .I pool
935 will use the sambaUnixIdPool objectclass settings inside your LDAP. This one is unsafe,
936 because it does not check for concurrent LDAP access and already used IDs in this range. 
937 On the other hand it is much faster.
938 .PP
940 .B minId
941 .I integer
942 .PP
943 The
944 .I minId
945 statement defines the minimum assignable user or group id to avoid security leaks with
946 uid 0 accounts. This is used for the
947 .I traditional
948 method
949 .PP
951 .B uidNumberPoolMin/gidNumberPoolMin
952 .I integer
953 .PP
954 The
955 .I uidNumberPoolMin/gidNumberPoolMin
956 statement defines the minimum assignable user/group id for use with the
957 .I pool
958 method.
959 .PP
961 .B uidNumberPoolMax/gidNumberPoolMax
962 .I integer
963 .PP
964 The
965 .I uidNumberPoolMin/gidNumberPoolMin
966 statement defines the highest assignable user/group id for use with the
967 .I pool
968 method.
969 .PP
971 .B nextIdHook
972 .I path
973 .PP
974 The
975 .I nextIdHook
976 statement defines a script to be called for finding the next free id for users or groups
977 externaly. It gets called with the current entry "dn" and the attribute to be ID'd. It
978 should return an integer value.
979 .PP
981 .B hash
982 .I string
983 .PP
984 The
985 .I hash
986 statement defines the default password hash to choose for new accounts. Valid values are
987 .I crypt/standard-des, crypt/md5, crypt/enhanced-des, crypt/blowfish, md5, sha, ssha, smd5, clear
988 and
989 .I sasl.
990 These values will be overridden when using templates.
991 .PP
993 .B idGenerator
994 .I string
995 .PP
996 The
997 .I idGenerator
998 statement describes an automatic way to generate new user ids. There are two basic
999 functions supported - which can be combined:
1001  a) using attributes
1003     You can specify LDAP attributes (currently only sn and givenName) in
1004     braces {} and add a percent sign befor it. Optionally you can strip it
1005     down to a number of characters, specified in []. I.e.
1007 .nf
1008       idGenerator="{%sn}-{%givenName[2-4]}"
1009 .fi
1011     will generate an ID using the full surename, adding a dash, and adding at
1012     least the first two characters of givenName. If this ID is used, it'll
1013     use up to four characters. If no automatic generation is possible, a
1014     input box is shown.
1016  b) using automatic id's
1018     I.e. specifying
1020 .nf
1021       idGenerator="acct{id:3}"
1022 .fi
1024     will generate a three digits id with the next free entry appended to
1025     "acct".
1027 .nf
1028       idGenerator="acct{id!1}"
1029 .fi
1031     will generate a one digit id with the next free entry appended to
1032     "acct" - if needed.
1034 .nf
1035       idGenerator="ext{id#3}"
1036 .fi
1038     will generate a three digits random number appended to "ext".
1039 .PP
1040 .PP
1043 .B Samba options
1044 .PP
1045 .B sambaSID
1046 .I string
1047 .PP
1048 The
1049 .I sambaSID
1050 statement defines a samba SID if not available inside of the LDAP. You can retrieve
1051 the current sid by
1052 .I net getlocalsid.
1053 .PP
1055 .B sambaRidBase
1056 .I integer
1057 .PP
1058 The
1059 .I sambaRidBase
1060 statement defines the base id to add to ordinary sid calculations - if not available
1061 inside of the LDAP.
1062 .PP
1064 .B sambaHashHook
1065 .I path
1066 .PP
1067 The
1068 .I sambaHashHook
1069 statement contains an executable to generate samba hash values. This is required
1070 for password synchronization, but not required if you apply gosa-si services.
1071 If you don't have mkntpasswd from the samba distribution installed, you can use
1072 perl to generate the hash:
1074 .nf
1075 perl -MCrypt::SmbHash -e "print join(q[:], ntlmgen \\$ARGV[0]), $/;"
1076 .if
1077 .PP
1079 .B sambaidmapping
1080 .I bool
1081 .PP
1082 The
1083 .I sambaidmapping
1084 statement tells GOsa to maintain sambaIdmapEntry objects. Depending on your
1085 setup this can drastically improve the windows login performance.
1086 .PP
1087 .PP
1089 .B Asterisk options
1090 .PP
1091 .B ctiHook
1092 .I path
1093 .PP
1094 The
1095 .I ctiHook
1096 statement defines a script to be executed if someone clicks on a phone number
1097 inside of the addressbook plugin. It gets called with two parameters:
1099 .nf
1100 ctiHook $source_number $destination_number
1101 .fi
1103 This script can be used to do automatted dialing from the addressbook.
1104 .PP
1105 .PP
1107 .B Mail options
1108 .PP
1109 .B mailMethod
1110 .I Cyrus/SendmailCyrus/Kolab/Kolab22
1111 .PP
1112 The
1113 .I mailMethod
1114 statement tells GOsa which mail method the setup should use to communicate
1115 with a possible mail server. Leave this undefined if your mail method does
1116 not match the predefined ones.
1118 .I Cyrus
1119 maintains accounts and sieve scripts in cyrus servers.
1120 .I Kolab/Kolab22
1121 is like cyrus, but lets the kolab daemon maintain the accounts.
1122 .I SendmailCyrus is based on sendmail LDAP attributes.
1123 .PP
1125 .B cyrusUseSlashes
1126 .I bool
1127 .PP
1128 The
1129 .I cyrusUseSlashes
1130 statement determines if GOsa should use "foo/bar" or "foo.bar" namespaces
1131 in IMAP. Unix style is with slashes.
1133 .B cyrusDeleteMailbox
1134 .I bool
1135 .PP
1136 The
1137 .I cyrusDeleteMailbox
1138 statement determines if GOsa should remove the mailbox from your IMAP
1139 server or keep it after the account is deleted in LDAP.
1141 .B cyrusAutocreateFolders
1142 .I string
1143 .PP
1144 The
1145 .I cyrusAutocreateFolders
1146 statement contains a comma seperated list of personal IMAP folders that
1147 should be created along initial account creation.
1149 .B postfixRestrictionFilters
1150 .I path
1151 .PP
1152 The
1153 .I postfixRestrictionFilters
1154 statement defines a file to include for the postfix module in order
1155 to display user defined restriction filters.
1157 .B postfixProtocols
1158 .I path
1159 .PP
1160 The
1161 .I postfixProtocols
1162 statement defines a file to include for the postfix module in order
1163 to display user defined protocols.
1165 .B mailAttribute
1166 .I mail/uid
1167 .PP
1168 The
1169 .I mailAttribute
1170 statement determines which attribute GOsa will use to create accounts.
1171 Valid values are
1172 .I mail
1173 and
1174 .I uid.
1176 .B imapTimeout
1177 .I Integer (default 10) 
1178 .PP
1179 The
1180 .I imapTimeout
1181 statement sets the connection timeout for imap actions.
1183 .B mailFolderCreation
1184 Every mail method has its own way to create mail accounts like 
1185 .I share/development
1186 or 
1187 .I shared.development@example.com
1188 which is used to identify the accounts, set quotas or add acls. 
1190 To override the methods default account creation syntax, you can set the
1191 .I mailFolderCreation
1192 option.
1194 .I Examples
1196 .nf
1197  mailFolderCreation="%prefix%%cn%"              => "shared.development"
1198  mailFolderCreation="my-prefix.%cn%%domain%"    => "my-prefix.development@example.com">
1199 .fi
1201 .I Placeholders
1203 .nf
1204  %prefix%    The methods default prefix. (Depends on cyrusUseSlashes=FALSE/TRUE)
1205  %cn%        The groups/users cn.
1206  %uid%       The users uid.
1207  %mail%      The objects mail attribute.
1208  %domain%    The domain part of the objects mail attribute.
1209  %mailpart%  The user address part of the mail address.
1210  %uattrib%   Depends on mailAttribute="uid/mail".
1211 .fi
1214 .B mailUserCreation
1215 This attribute allows to override the user account creation syntax, see
1216 the
1217 .I mailFolderCreation
1218 description for more details. 
1220 .I Examples
1222 .nf
1223  mailUserCreation="%prefix%%uid%"           => "user.foobar"
1224  mailUserCreation=my-prefix.%uid%%domain%"  => "my-prefix.foobar@example.com"
1225 .fi
1228 .B vacationTemplateDirectory
1229 .I path
1230 .PP
1231 The
1232 .I vacationTemplateDirectory
1233 statement sets the path where GOsa will look for vacation message
1234 templates. Default is /etc/gosa/vacation.
1236 Example template /etc/gosa/vacation/business.txt:
1238 .nf
1239    DESC:Away from desk
1240    Hi, I'm currently away from my desk. You can contact me on
1241    my cell phone via %mobile.
1243    Greetings,
1244    %givenName %sn
1245 .fi
1246 .PP
1249 .B Debug options
1250 .PP
1251 .B displayErrors
1252 .I bool
1253 .PP
1254 The
1255 .I displayErrors
1256 statement tells GOsa to show PHP errors in the upper part of the screen. This
1257 should be disabled in productive deployments, because there might be some
1258 important passwords arround.
1259 .PP
1261 .B ldapstats
1262 .I bool
1263 .PP
1264 The
1265 .I ldapstats
1266 statement tells GOsa to track LDAP timing statistics to the syslog. This may
1267 help to find indexing problems or bad search filters.
1268 .PP
1270 .B ignoreAcl
1271 .I dn
1272 .PP
1273 The
1274 .I ignoreAcl
1275 value tells GOsa to ignore complete ACL sets for the given DN. Add your
1276 DN here and you'll be able to restore accidently dropped ACLs.
1277 .PP
1279 .B debuglevel
1280 .I integer
1281 .PP
1282 The
1283 .I debuglevel
1284 value tells GOsa to display certain information on each page load. Value
1285 is an AND combination of the following byte values:
1287 DEBUG_TRACE   = 1
1289 DEBUG_LDAP    = 2
1291 DEBUG_MYSQL   = 4
1293 DEBUG_SHELL   = 8
1295 DEBUG_POST    = 16
1297 DEBUG_SESSION = 32
1299 DEBUG_CONFIG  = 64
1301 DEBUG_ACL     = 128
1303 DEBUG_SI      = 256
1305 DEBUG_MAIL    = 512
1306 .PP
1309 .SH LDAP resource definition
1311 For every location you define inside your gosa.conf, you need at least
1312 one entry of the type
1313 .I referral.
1314 These entries define the way how to connect to some directory service.
1316 .B Example:
1318 .nf
1319   <referral uri="ldap://ldap.example.net/dc=example,dc=net"
1320             admin="cn=gosa-admin,dc=example,dc=net"
1321             password="secret" />
1322 .fi
1324 .I uri
1325 is a valid LDAP uri extendet by the base this referral is responsible for.
1326 .I admin
1327 is the DN which has the permission to write LDAP entries. And
1328 .I password
1329 is the corresponding password for this DN.
1331 You can define a set of referrals if you have several server to
1332 connect to.
1334 .SH Settings for the environment plugin
1336 In order to make full use of the environment plugin, you may want
1337 to define the location where kiosk profiles will be stored on the
1338 servers harddisk.
1340 This is done by the
1341 .I kioskPath
1342 keyword defined within the
1343 .I environment
1344 class definition inside your gosa.conf.
1346 .B Example:
1348 .nf
1349   <plugin acl="users/environment"
1350           class="environment"
1351           kioskPath="/var/spool/kiosk"/>
1352 .fi
1354 Make sure, that this path is writeable by GOsa.
1356 .SH Settings for the FAI plugin
1358 The FAI plugin can be used in a way that it generates branched or
1359 freezed releases inside your repository. Specifying the
1360 .I postcreate
1361 and
1362 .I postmodify
1363 keywords in the
1364 .I servrepository
1365 definition, calls the provided script as a hook when adding or
1366 removing branches. This script should do the rest inside of your
1367 repository.
1369 .B Example:
1371 .nf
1372   <tab class="servrepository" 
1373           repositoryBranchHook="/opt/dak/bin/get_extra_repos"
1374           postcreate="/opt/dak/bin/handle_repository '%lock_dn' '%lock_name' '%lock_type' />
1375 .fi
1377 .I %lock_dn
1378 keeps the base DN of the source branch,
1379 .I %lock_name
1380 the name of the new branch and
1381 .I %lock_type
1382 is either "freeze" or "branch".
1384 The
1385 .I repositoryBranchHook
1386 outputs additional releases, that are not retrieveable with the standard
1387 GOsa/FAI methods.
1389 If you have only one release, or want to define a default release to be shown
1390 by GOsa, define the
1391 .I defaultFaiRelease="ou=sarge,ou=fai,ou=configs,ou=syst..."
1392 within the 
1393 .I faiManagement
1394 class definition
1396 .SH Settings for the addressbook plugin
1398 The addressbook plugin can be configured to store the addressbook data on
1399 a special location. Use the
1400 .I addressbookBaseDN
1401 keyword within the
1402 .I addressbook
1403 class definition inside your gosa.conf to configure this location.
1405 Default:
1406 .I ou=addressbook.
1408 .SH Settings for system plugins
1409 For the
1410 .I workstationStartup
1411 and
1412 .I terminalStartup
1413 classes, you can define the
1414 .I systemKernelsHook
1415 keyword. It can load additional kernels that are not retrieveable by
1416 standard GOsa/FAI mechanisms.
1418 In order to make use of SNMP information, you can set the
1419 .I snmpCommunity
1420 in the
1421 .I terminfo
1422 class definition.
1424 To enable the burn CD image function, you can specify the
1425 .I systemIsoHook
1426 in the
1427 .I workgeneric
1428 class. You will get a CD symbol in the systems list - which calls
1429 the hook if pressed.
1431 .SH AUTHOR
1432 .B gosa.conf(5)
1433 was written by Cajus Pollmeier for
1434 the GOsa project (
1435 .B http://www.gosa-project.org
1436 ).