Code

c78026873bacea11b8da2dde5cd0809182c9b759
[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 seven additional hooks: 
93 .I precreate,
94 .I preremove,
95 .I premodify
96 .I postcreate,
97 .I postremove,
98 .I postmodify
99 and
100 .I check.
101 These can be used to perform special actions when a plugins gets
102 a create, delete, modify or check request. As a parameter, these
103 keywords get a shell script or program to the task.
105 .I The
106 .B create / delete / modify
107 .I keywords
109 These keywords take a full executable path of a script. You can
110 provide certain parameters in form of LDAP attributes. '%uid'
111 will pass the current user id, '%dn' the current object dn, etc.
113 The script gets executed before(pre) and after(post) create, delete or modify tasks.
115 .I The
116 .B check
117 .I keyword
119 This keyword takes a full executable path of a script. Check is
120 triggered after you press the
121 -I "Apply"
122 or
123 -I "OK"
124 button. The complete LDAP entry as it will be written to the
125 LDAP is passed to your script. If parts of the entry do not
126 match some logic of your script, just print an error message
127 to STDOUT. GOsa will show this message and abort the current
128 process of saving the entry to the LDAP.
130 .B Example menu definition:
132 .nf
133   <menu>
134     <section name="My account">
135       <plugin acl="users/user:self" class="user" check="/usr/local/bin/test_user.sh" />
136       <plugin acl="users/samba:self" class="sambaAccount" postcreate="/usr/local/bin/create_share '%uid'" />
137     </section>
138   </menu>
139 .fi
141 .SH Tabbed dialog definitions
143 Tab definitions define the sub plugins which get included for certain
144 tabbed dialogs. If you change something here, never (!) remove the
145 primary (the first) "tab" tag which is defined. Most tabbed dialogs
146 need a primary plugin.
148 .I "*tab"
149 should be looked for by a defined plugin. This one will take
150 every 
151 .I "tab"
152 defined
153 .I "class"
154 and will show it inside of a tabbed dialog
155 with the header defined in
156 .I "name".
158 .B Example tabbed dialog definition:
160 .nf
161   <grouptabs>
162     <tab class="group" name="Generic" />
163     <tab class="environment" name="Environment" />
164     <tab class="appgroup" name="Applications" />
165     <tab class="mailgroup" name="Mail" />
166   </grouptabs>
167 .fi
169 .SH Main section
171 The main section defines global settings, which might be overridden by
172 each location definition inside of this global definition.
174 .B Example layout:
176 .nf
177   <main default="Example Net"
178         listSummary="false"
179         ... >
181         <location name="Example Net"
182                   hash="md5"
183                   accountPrimaryAttribute="cn"
184                   ...
186                   <referral uri="ldaps://ldap.example.net:636/dc=example,dc=net"
187                             admin="cn=gosa-admin,dc=example,dc=net"
188                             password="secret" />
190         </location>
192   </main>
194 .fi
196 .PP
197 .B Generic options
199 .PP
200 .B forceGlobals
201 .I bool
202 .PP
203 The
204 .I forceGlobals
205 statement enables PHP security checks to force register_global settings to
206 be switched off.
207 .PP
209 .B forceSSL
210 .I bool
211 .PP
212 The
213 .I forceSSL
214 statement enables PHP security checks to force encrypted access to the web
215 interface. GOsa will try to redirect to the same URL - just with https://.
216 .PP
218 .B warnSSL
219 .I bool
220 .PP
221 The
222 .I warnSSL
223 statement enables PHP security checks to detect non encrypted access to
224 the web interface. GOsa will display a warning in this case.
225 .PP
227 .B modificationDetectionAttribute
228 .I string
229 .PP
230 The
231 .I modificationDetectionAttribute
232 statement enables GOsa to check if a entry currently being edited has
233 been modified from someone else outside GOsa in the meantime. It will
234 display an informative dialog then. It can be set to
235 .I entryCSN
236 for OpenLDAP based systems or
237 .I contextCSN
238 for Sun DS based systems.
239 .PP
241 .B logging
242 .I string
243 .PP
244 The
245 .I logging
246 statement enables event logging on GOsa side. Setting it to 
247 .I true,
248 GOsa will log every action a user performs via syslog. If you use
249 rsyslog and configure it to mysql logging, you can browse all events
250 within GOsa.
252 GOsa will not log anything, if the logging value is empty or set to
253 false.
254 .PP
256 .B loginAttribute
257 .I string
258 .PP
259 The
260 .I loginAttribute
261 statement tells GOsa which LDAP attribute is used as the login name
262 during login. It can be set to
263 .I uid, mail
264 or
265 .I both.
266 .PP
268 .B copyPaste
269 .I bool
270 .PP
271 The
272 .I copyPaste
273 statement enables copy and paste for LDAP entries managed with GOsa.
274 .PP
276 .B enableSnapshots
277 .I bool
278 .PP
279 The
280 .I enableSnapshots
281 statement enables a snapshot mechaism in GOsa. This enables you to save
282 certain states of entries and restore them later on.
283 .PP
285 .B snapshotBase
286 .I dn
287 .PP
288 The
289 .I snapshotBase
290 statement defines the base where snapshots should be stored inside of
291 the LDAP.
292 .PP
294 .B snapshotURI
295 .I uri 
296 .PP
297 The
298 .I snapshotURI
299 variable defines the LDAP URI for the server which is used to do object
300 snapshots.
301 .PP
303 .B snapshotAdminDn
304 .I dn
305 .PP
306 The
307 .I snapshotAdminDn
308 variable defines the user which is used to authenticate when connecting
309 to
310 .I snapshotURI.
311 .PP
313 .B snapshotAdminPassword
314 .I string
315 .PP
316 The
317 .I snapshotAdminPassword
318 variable defines the credentials which are used in combination with
319 .I snapshotAdminDn
320 and
321 .I snapshotURI
322 in order to authenticate.
323 .PP
325 .B config
326 .I dn
327 .PP
328 The
329 .I config
330 statement defines the LDAP base, where GOsa stores management information,
331 such as site wide locking and user notifications.
332 .PP
334 .B templateCompileDirectory
335 .I path
336 .PP
337 The
338 .I templateCompileDirectory
339 statements defines the path, where the PHP templating engins
340 .I smarty
341 should store its compiled GOsa templates for improved speed. This path
342 needs to be writeable by the user your webserver is running with.
343 .PP
345 .B timezone
346 .I string
347 .PP
348 The
349 .I timezone
350 statements defines the timezone used inside of GOsa to handle date
351 related tasks, such as password expiery, vacation messages, etc.
352 The
353 .I timezone
354 value should be a unix conform timezone value like in /etc/timezone.
355 .PP
357 .B honourIvbbAttributes
358 .I bool
359 .PP
360 The
361 .I honourIvbbAttributes
362 statement enables the IVBB mode inside of GOsa. You need the ivbb.schema
363 file from used by german authorities.
364 .PP
366 .B strictNamingRules
367 .I bool
368 .PP
369 The
370 .I strictNamingRules
371 statement enables strict checking of uids and group names. If you need
372 characters like . or - inside of your accounts, set this to
373 .I false.
374 .PP
376 .B honourUnitTags
377 .I bool
378 .PP
379 The
380 .I honourUnitTags
381 statement enables checking of
382 .I unitTag
383 attributes when using administrative units. If this is set to
384 .I true
385 GOsa can only see objects inside the administrative unit a
386 user is logged into.
387 .PP
389 .B rfc2307bis
390 .I bool
391 .PP
392 The
393 .I rfc2307bis
394 statement enables rfc2307bis style groups in GOsa. You can use
395 .I member
396 attributes instead of memberUid in this case. To make it work
397 on unix systems, you've to adjust your NSS configuration to
398 use rfc2307bis style groups, too.
399 .PP
401 .B ppdPath
402 .I path
403 .PP
404 The
405 .I ppdPath
406 variable defines where to store PPD files for the GOto environment plugins.
407 .PP
409 .B ppdGzip
410 .I bool
411 .PP
412 The
413 .I ppdGzip
414 variable enables PPD file compression.
415 .PP
417 .B resolutions
418 .I path
419 .PP
420 The
421 .I resolutions
422 variable defines a plain text file which contains additional resolutions
423 to be shown in the environment and system plugins.
424 .PP
426 .B htaccessAuthentication
427 .I bool
428 .PP
429 The
430 .I htaccessAuthentication
431 variable tells GOsa to use either htaccess authentication or LDAP authentication. This
432 can be used if you want to use i.e. kerberos to authenticate the users.
433 .PP
435 .B gosaSupportURI
436 .I URI
437 .PP
438 The
439 .I gosaSupportURI
440 defines the major gosa-si server host and the password for GOsa to connect to it.
441 can be used if you want to use i.e. kerberos to authenticate the users.
443 The format is:
445 .nf
446 credentials@host:port
447 .fi
448 .PP
450 .B gosaSupportTimeout
451 .I integer
452 .PP
453 The
454 .I gosaSupportTimeout
455 sets a connection timeout for all gosa-si actions. See 
456 .I gosaSupportURI
457 for details.
458 .PP
460 .B Browser and display options
462 .B listSummary
463 .I true/false
464 .PP
465 The
466 .I listSummary
467 statement determines whether a status bar will be shown on the bottom of
468 GOsa generated lists, displaying a short summary of type and number of
469 elements in the list.
470 .PP
472 .B sendCompressedOutput
473 .I true/false
474 .PP
475 The
476 .I sendCompressedOutput
477 statement determines whether PHP should send compressed HTML pages to
478 browsers or not. This may increase or decrease the performance, depending
479 on your network.
480 .PP
482 .B storeFilterSettings
483 .I true/false
484 .PP
485 The
486 .I storeFilterSettings
487 statement determines whether GOsa should store filter and plugin settings
488 inside of a cookie.
489 .PP
491 .B language
492 .I string
493 .PP
494 The
495 .I language
496 statement defines the default language used by GOsa. Normally GOsa autodetects
497 the language from the browser settings. If this is not working or you want to
498 force the language, just add the language code (i.e. de for german) here.
499 .PP
501 .B theme
502 .I string
503 .PP
504 The
505 .I theme
506 statement defines what theme is used to display GOsa pages. You can install some
507 corporate identity like theme and/or modify certain templates to fit your needs
508 within themes. Take a look at the GOsa
509 .I FAQ
510 for more information.
511 .PP
513 .B sessionLifetime
514 .I int
515 .PP
516 The
517 .I sessionLifetime
518 value defines when a session will expire in seconds. For Debian systems, this will
519 not work because the sessions will be removed by a cron job instead. Please modify
520 the value inside of your php.ini instead.
521 .PP
523 .B Password options
524 .PP
525 .B passwordMinLength
526 .I integer
527 .PP
528 The
529 .I passwordMinLength
530 statement determines whether a newly entered password has to be of
531 a minimum length.
532 .PP
534 .B passwordMinDiffer
535 .I integer
536 .PP
537 The
538 .I passwordMinDiffer
539 statement determines whether a newly entered password has to be checked
540 to have at least n different characters.
541 .PP
543 .B passwordProposalHook
544 .I command
545 .PP
546 The
547 .I passwordProposalHook
548 can be used to let GOsa generate password proposals for you. 
549 Whenever you change a password, you can then decide whether to use the proposal or to manually specify a password.
551 .nf
552 /usr/bin/apg -n1
553 .fi
555 .B strictPasswordRules
556 .I bool
557 .PP
558 The
559 .I strictPasswordRules
560 tells GOsa to check for UTF-8 characters in the supplied password. These
561 Characters can lead to non working authentications if UTF-8 and none
562 UTF-8 systems locales get mixed. The default is "true".
564 .B handleExpiredAccounts
565 .I bool
566 .PP
567 The
568 .I handleExpiredAccounts
569 statement enables shadow attribute tests during the login to the GOsa web
570 interface and forces password renewal or account lockout.
571 .PP
573 .B useSaslForKerberos
574 .I bool
575 .PP
576 The
577 .I useSaslForKerberos
578 statement defines the way the kerberos realm is stored in the
579 .I userPassword
580 attribute. Set it to
581 .I true
582 in order to get {sasl}user@REALM.NET, or to
583 .I false
584 to get {kerberos}user@REALM.NET. The latter is outdated, but may be
585 needed from time to time.
586 .PP
587 .PP
590 .B LDAP options
591 .PP
592 .B ldapMaxQueryTime
593 .I integer
594 .PP
595 The
596 .I ldapMaxQueryTime
597 statement tells GOsa to stop LDAP actions if there is no answer within the
598 specified number of seconds.
599 .PP
601 .B schemaCheck
602 .I bool
603 .PP
604 The
605 .I schemaCheck
606 statement enables or disables schema checking during login. It is recommended
607 to switch this on in order to let GOsa handle object creation more efficient.
608 .PP
610 .B ldapTLS
611 .I bool
612 .PP
613 The
614 .I ldapTLS
615 statement enables or disables TLS operating on LDAP connections.
616 .PP
618 .B accountPrimaryAttribute
619 .I cn/uid
620 .PP
621 The
622 .I accountPrimaryAttribute
623 option tells GOsa how to create new accounts. Possible values are
624 .I uid
625 and
626 .I cn.
627 In the first case GOsa creates uid style DN entries:
628 .nf
629 uid=superuser,ou=staff,dc=example,dc=net
630 .fi
631 In the second case, GOsa creates cn style DN entries:
632 .nf
633 cn=Foo Bar,ou=staff,dc=example,dc=net
634 .fi
635 If you choose "cn" to be your
636 .I accountPrimaryAttribute
637 you can decide whether to include the personal title in your dn by
638 selecting
639 .I personalTitleInDN.
640 .PP
642 .B accountRDN
643 .I pattern
644 .PP
645 The
646 .I accountRDN
647 option tells GOsa to use a placeholder pattern for generating account
648 RDNs. A pattern can include attribute names prefaced by a % and normal
649 text:
650 .nf
651 accountRDN="cn=%sn %givenName"
652 .fi
653 This will generate a RDN consisting of cn=.... filled with surname and
654 given name of the edited account. This option disables the use of
655 .I accountPrimaryAttribute
656 and
657 .I personalTitleInDn
658 in your config. The latter attributes are maintained for compatibility.
661 .B personalTitleInDN
662 .I bool
663 .PP
664 The
665 .I personalTitleInDN
666 option tells GOsa to include the personal title in user DNs when
667 .I accountPrimaryAttribute
668 is set to "cn".
670 .B userRDN
671 .I string
672 .PP
673 The
674 .I userRDN
675 statement defines the location where new accounts will be created inside of
676 defined departments. The default is
677 .I ou=people.
678 .PP
680 .B groupsRDN
681 .I string
682 .PP
683 The
684 .I groupsRDN
685 statement defines the location where new groups will be created inside of
686 defined departments. The default is
687 .I ou=groups.
688 .PP
690 .B sudoRDN
691 .I string
692 .PP
693 The
694 .I sudoRDN
695 statement defines the location where new groups will be created inside of
696 defined departments. The default is
697 .I ou=groups.
698 .PP
700 .B sambaMachineAccountRDN
701 .I string
702 .PP
703 This statement defines the location where GOsa looks for new samba workstations.
704 .PP
706 .B ogroupRDN
707 .I string
708 .PP
709 This statement defines the location where GOsa creates new object groups inside of defined
710 departments. Default is
711 .I ou=groups.
712 .PP
714 .B serverRDN
715 .I string
716 .PP
717 This statement defines the location where GOsa creates new servers inside of defined
718 departments. Default is
719 .I ou=servers.
720 .PP
722 .B terminalRDN
723 .I string
724 .PP
725 This statement defines the location where GOsa creates new terminals inside of defined
726 departments. Default is
727 .I ou=terminals.
728 .PP
730 .B workstationRDN
731 .I string
732 .PP
733 This statement defines the location where GOsa creates new workstations inside of defined
734 departments. Default is
735 .I ou=workstations.
736 .PP
738 .B printerRDN
739 .I string
740 .PP
741 This statement defines the location where GOsa creates new printers inside of defined
742 departments. Default is
743 .I ou=printers.
744 .PP
746 .B componentRDN
747 .I string
748 .PP
749 This statement defines the location where GOsa creates new network components inside of defined
750 departments. Default is
751 .I ou=components.
752 .PP
754 .B phoneRDN
755 .I string
756 .PP
757 This statement defines the location where GOsa creates new phones inside of defined
758 departments. Default is
759 .I ou=phones.
760 .PP
762 .B phoneConferenceRDN
763 .I string
764 .PP
765 This statement defines the location where GOsa creates new phone conferences inside of defined
766 departments. Default is
767 .I ou=conferences.
768 .PP
770 .B faxBlocklistRDN
771 .I string
772 .PP
773 This statement defines the location where GOsa creates new fax blocklists inside of defined
774 departments. Default is
775 .I ou=blocklists.
776 .PP
778 .B systemIncomingRDN
779 .I string
780 .PP
781 This statement defines the location where GOsa looks for new systems to be joined to the LDAP.
782 Default is
783 .I ou=incoming.
784 .PP
786 .B systemRDN
787 .I string
788 .PP
789 This statement defines the base location for servers, workstations, terminals, phones and
790 components. Default is
791 .I ou=systems.
792 .PP
794 .B ogroupRDN
795 .I string
796 .PP
797 This statement defines the location where GOsa looks for object groups.
798 Default is
799 .I ou=groups.
800 .PP
802 .B aclRoleRDN
803 .I string
804 .PP
805 This statement defines the location where GOsa stores ACL role definitions.
806 Default is
807 .I ou=aclroles.
808 .PP
810 .B phoneMacroRDN
811 .I string
812 .PP
813 This statement defines the location where GOsa stores phone macros for use with the Asterisk
814 phone server.
815 Default is
816 .I ou=macros,ou=asterisk,ou=configs,ou=systems.
817 .PP
819 .B faiBaseRDN
820 .I string
821 .PP
822 This statement defines the location where GOsa looks for FAI settings.
823 Default is
824 .I ou=fai,ou=configs,ou=systems.
825 .PP
827 .B faiScriptRDN, faiHookRDN, faiTemplateRDN, faiVariableRDN, faiProfileRDN, faiPackageRDN, faiPartitionRDN 
828 .I string
829 .PP
830 These statement define the location where GOsa stores FAI classes. The complete base for the
831 corresponding class is an additive of
832 .B faiBaseRDN
833 an and this value.
834 .PP
836 .B deviceRDN
837 .I string
838 .PP
839 This statement defines the location where GOsa looks for devices.
840 Default is
841 .I ou=devices.
842 .PP
844 .B mimetypeRDN
845 .I string
846 .PP
847 This statement defines the location where GOsa stores mime type definitions.
848 Default is
849 .I ou=mimetypes.
850 .PP
852 .B applicationRDN
853 .I string
854 .PP
855 This statement defines the location where GOsa stores application definitions.
856 Default is
857 .I ou=apps.
858 .PP
860 .B ldapFilterNestingLimit
861 .I integer
862 .PP
863 The
864 .I ldapFilterNestingLimit
865 statement can be used to speed up group handling for groups with several hundreds of members.
866 The default behaviour is, that GOsa will resolv the memberUid values in a group to real names.
867 To achieve this, it writes a single filter to minimize searches. Some LDAP servers (namely
868 Sun DS) simply crash when the filter gets too big. You can set a member limit, where GOsa will
869 stop to do these lookups.
870 .PP
872 .B ldapSizelimit
873 .I integer
874 .PP
875 The
876 .I ldapSizelimit
877 statement tells GOsa to retrieve the specified maximum number of results. The user will get
878 a warning, that not all entries were shown.
879 .PP
881 .B ldapFollowReferrals
882 .I bool
883 .PP
884 The
885 .I ldapFollowReferrals
886 statement tells GOsa to follow LDAP referrals.
887 .PP
888 .PP
891 .B Account creation options
892 .PP
893 .B uidNumberBase
894 .I integer
895 .PP
896 The
897 .I uidNumberBase
898 statement defines where to start looking for a new free user id. This should be synced
899 with your
900 .I adduser.conf
901 to avoid overlapping uidNumber values between local and LDAP based lookups. The uidNumberBase
902 can even be dynamic. Take a look at the
903 .I baseIdHook
904 definition below.
905 .PP
907 .B gidNumberBase
908 .I integer
909 .PP
910 The
911 .I gidNumberBase
912 statement defines where to start looking for a new free group id. This should be synced
913 with your
914 .I adduser.conf
915 to avoid overlapping gidNumber values between local and LDAP based lookups. The gidNumberBase
916 can even be dynamic. Take a look at the
917 .I nextIdHook
918 definition below.
919 .PP
921 .B idAllocationMethod
922 .I traditional/pool
923 .PP
924 The
925 .I idAllocationMethod
926 statement defines how GOsa generates numeric user and group id values. If it is set to
927 .I traditional
928 GOsa will do create a lock and perform a search for the next free ID. The lock will be
929 removed after the procedure completes.
930 .I pool
931 will use the sambaUnixIdPool objectclass settings inside your LDAP. This one is unsafe,
932 because it does not check for concurrent LDAP access and already used IDs in this range. 
933 On the other hand it is much faster.
934 .PP
936 .B minId
937 .I integer
938 .PP
939 The
940 .I minId
941 statement defines the minimum assignable user or group id to avoid security leaks with
942 uid 0 accounts. This is used for the
943 .I traditional
944 method
945 .PP
947 .B uidNumberPoolMin/gidNumberPoolMin
948 .I integer
949 .PP
950 The
951 .I uidNumberPoolMin/gidNumberPoolMin
952 statement defines the minimum assignable user/group id for use with the
953 .I pool
954 method.
955 .PP
957 .B uidNumberPoolMax/gidNumberPoolMax
958 .I integer
959 .PP
960 The
961 .I uidNumberPoolMax/gidNumberPoolMax
962 statement defines the highest assignable user/group id for use with the
963 .I pool
964 method.
965 .PP
967 .B nextIdHook
968 .I path
969 .PP
970 The
971 .I nextIdHook
972 statement defines a script to be called for finding the next free id for users or groups
973 externaly. It gets called with the current entry "dn" and the attribute to be ID'd. It
974 should return an integer value.
975 .PP
977 .B passwordDefaultHash
978 .I string
979 .PP
980 The
981 .I passwordDefaultHash
982 statement defines the default password hash to choose for new accounts. Valid values are
983 .I crypt/standard-des, crypt/md5, crypt/enhanced-des, crypt/blowfish, md5, sha, ssha, smd5, clear
984 and
985 .I sasl.
986 These values will be overridden when using templates.
987 .PP
989 .B idGenerator
990 .I string
991 .PP
992 The
993 .I idGenerator
994 statement describes an automatic way to generate new user ids. There are two basic
995 functions supported - which can be combined:
997  a) using attributes
999     You can specify LDAP attributes (currently only sn and givenName) in
1000     braces {} and add a percent sign befor it. Optionally you can strip it
1001     down to a number of characters, specified in []. I.e.
1003 .nf
1004       idGenerator="{%sn}-{%givenName[2-4]}"
1005 .fi
1007     will generate an ID using the full surname, adding a dash, and adding at
1008     least the first two characters of givenName. If this ID is used, it'll
1009     use up to four characters. If no automatic generation is possible, a
1010     input box is shown.
1012  b) using automatic id's
1014     I.e. specifying
1016 .nf
1017       idGenerator="acct{id:3}"
1018 .fi
1020     will generate a three digits id with the next free entry appended to
1021     "acct".
1023 .nf
1024       idGenerator="acct{id!1}"
1025 .fi
1027     will generate a one digit id with the next free entry appended to
1028     "acct" - if needed.
1030 .nf
1031       idGenerator="ext{id#3}"
1032 .fi
1034     will generate a three digits random number appended to "ext".
1035 .PP
1036 .PP
1039 .B Samba options
1040 .PP
1041 .B sambaSID
1042 .I string
1043 .PP
1044 The
1045 .I sambaSID
1046 statement defines a samba SID if not available inside of the LDAP. You can retrieve
1047 the current sid by
1048 .I net getlocalsid.
1049 .PP
1051 .B sambaRidBase
1052 .I integer
1053 .PP
1054 The
1055 .I sambaRidBase
1056 statement defines the base id to add to ordinary sid calculations - if not available
1057 inside of the LDAP.
1058 .PP
1060 .B sambaHashHook
1061 .I path
1062 .PP
1063 The
1064 .I sambaHashHook
1065 statement contains an executable to generate samba hash values. This is required
1066 for password synchronization, but not required if you apply gosa-si services.
1067 If you don't have mkntpasswd from the samba distribution installed, you can use
1068 perl to generate the hash:
1070 .nf
1071 perl -MCrypt::SmbHash -e "print join(q[:], ntlmgen \\$ARGV[0]), $/;"
1072 .if
1073 .PP
1075 .B sambaIdmapping
1076 .I bool
1077 .PP
1078 The
1079 .I sambaIdMapping
1080 statement tells GOsa to maintain sambaIdmapEntry objects. Depending on your
1081 setup this can drastically improve the windows login performance.
1082 .PP
1083 .PP
1085 .B Asterisk options
1086 .PP
1087 .B ctiHook
1088 .I path
1089 .PP
1090 The
1091 .I ctiHook
1092 statement defines a script to be executed if someone clicks on a phone number
1093 inside of the addressbook plugin. It gets called with two parameters:
1095 .nf
1096 ctiHook $source_number $destination_number
1097 .fi
1099 This script can be used to do automatted dialing from the addressbook.
1100 .PP
1101 .PP
1103 .B Mail options
1104 .PP
1105 .B mailMethod
1106 .I Cyrus/SendmailCyrus/Kolab/Kolab22
1107 .PP
1108 The
1109 .I mailMethod
1110 statement tells GOsa which mail method the setup should use to communicate
1111 with a possible mail server. Leave this undefined if your mail method does
1112 not match the predefined ones.
1114 .I Cyrus
1115 maintains accounts and sieve scripts in cyrus servers.
1116 .I Kolab/Kolab22
1117 is like cyrus, but lets the kolab daemon maintain the accounts.
1118 .I SendmailCyrus is based on sendmail LDAP attributes.
1119 .PP
1121 .B cyrusUseSlashes
1122 .I bool
1123 .PP
1124 The
1125 .I cyrusUseSlashes
1126 statement determines if GOsa should use "foo/bar" or "foo.bar" namespaces
1127 in IMAP. Unix style is with slashes.
1129 .B cyrusDeleteMailbox
1130 .I bool
1131 .PP
1132 The
1133 .I cyrusDeleteMailbox
1134 statement determines if GOsa should remove the mailbox from your IMAP
1135 server or keep it after the account is deleted in LDAP.
1137 .B cyrusAutocreateFolders
1138 .I string
1139 .PP
1140 The
1141 .I cyrusAutocreateFolders
1142 statement contains a comma seperated list of personal IMAP folders that
1143 should be created along initial account creation.
1145 .B postfixRestrictionFilters
1146 .I path
1147 .PP
1148 The
1149 .I postfixRestrictionFilters
1150 statement defines a file to include for the postfix module in order
1151 to display user defined restriction filters.
1153 .B postfixProtocols
1154 .I path
1155 .PP
1156 The
1157 .I postfixProtocols
1158 statement defines a file to include for the postfix module in order
1159 to display user defined protocols.
1161 .B mailAttribute
1162 .I mail/uid
1163 .PP
1164 The
1165 .I mailAttribute
1166 statement determines which attribute GOsa will use to create accounts.
1167 Valid values are
1168 .I mail
1169 and
1170 .I uid.
1172 .B imapTimeout
1173 .I Integer (default 10) 
1174 .PP
1175 The
1176 .I imapTimeout
1177 statement sets the connection timeout for imap actions.
1179 .B mailFolderCreation
1180 Every mail method has its own way to create mail accounts like 
1181 .I share/development
1182 or 
1183 .I shared.development@example.com
1184 which is used to identify the accounts, set quotas or add acls. 
1186 To override the methods default account creation syntax, you can set the
1187 .I mailFolderCreation
1188 option.
1190 .I Examples
1192 .nf
1193  mailFolderCreation="%prefix%%cn%"              => "shared.development"
1194  mailFolderCreation="my-prefix.%cn%%domain%"    => "my-prefix.development@example.com">
1195 .fi
1197 .I Placeholders
1199 .nf
1200  %prefix%    The methods default prefix. (Depends on cyrusUseSlashes=FALSE/TRUE)
1201  %cn%        The groups/users cn.
1202  %uid%       The users uid.
1203  %mail%      The objects mail attribute.
1204  %domain%    The domain part of the objects mail attribute.
1205  %mailpart%  The user address part of the mail address.
1206  %uattrib%   Depends on mailAttribute="uid/mail".
1207 .fi
1210 .B mailUserCreation
1211 This attribute allows to override the user account creation syntax, see
1212 the
1213 .I mailFolderCreation
1214 description for more details. 
1216 .I Examples
1218 .nf
1219  mailUserCreation="%prefix%%uid%"           => "user.foobar"
1220  mailUserCreation=my-prefix.%uid%%domain%"  => "my-prefix.foobar@example.com"
1221 .fi
1224 .B vacationTemplateDirectory
1225 .I path
1226 .PP
1227 The
1228 .I vacationTemplateDirectory
1229 statement sets the path where GOsa will look for vacation message
1230 templates. Default is /etc/gosa/vacation.
1232 Example template /etc/gosa/vacation/business.txt:
1234 .nf
1235    DESC:Away from desk
1236    Hi, I'm currently away from my desk. You can contact me on
1237    my cell phone via %mobile.
1239    Greetings,
1240    %givenName %sn
1241 .fi
1242 .PP
1245 .B Debug options
1246 .PP
1247 .B displayErrors
1248 .I bool
1249 .PP
1250 The
1251 .I displayErrors
1252 statement tells GOsa to show PHP errors in the upper part of the screen. This
1253 should be disabled in productive deployments, because there might be some
1254 important passwords arround.
1255 .PP
1257 .B ldapstats
1258 .I bool
1259 .PP
1260 The
1261 .I ldapstats
1262 statement tells GOsa to track LDAP timing statistics to the syslog. This may
1263 help to find indexing problems or bad search filters.
1264 .PP
1266 .B ignoreAcl
1267 .I dn
1268 .PP
1269 The
1270 .I ignoreAcl
1271 value tells GOsa to ignore complete ACL sets for the given DN. Add your
1272 DN here and you'll be able to restore accidently dropped ACLs.
1273 .PP
1275 .B debugLevel
1276 .I integer
1277 .PP
1278 The
1279 .I debugLevel
1280 value tells GOsa to display certain information on each page load. Value
1281 is an AND combination of the following byte values:
1283 DEBUG_TRACE   = 1
1285 DEBUG_LDAP    = 2
1287 DEBUG_MYSQL   = 4
1289 DEBUG_SHELL   = 8
1291 DEBUG_POST    = 16
1293 DEBUG_SESSION = 32
1295 DEBUG_CONFIG  = 64
1297 DEBUG_ACL     = 128
1299 DEBUG_SI      = 256
1301 DEBUG_MAIL    = 512
1302 .PP
1305 .SH LDAP resource definition
1307 For every location you define inside your gosa.conf, you need at least
1308 one entry of the type
1309 .I referral.
1310 These entries define the way how to connect to some directory service.
1312 .B Example:
1314 .nf
1315   <referral uri="ldap://ldap.example.net/dc=example,dc=net"
1316             admin="cn=gosa-admin,dc=example,dc=net"
1317             password="secret" />
1318 .fi
1320 .I uri
1321 is a valid LDAP uri extendet by the base this referral is responsible for.
1322 .I admin
1323 is the DN which has the permission to write LDAP entries. And
1324 .I password
1325 is the corresponding password for this DN.
1327 You can define a set of referrals if you have several server to
1328 connect to.
1330 .SH Settings for the environment plugin
1332 In order to make full use of the environment plugin, you may want
1333 to define the location where kiosk profiles will be stored on the
1334 servers harddisk.
1336 This is done by the
1337 .I kioskPath
1338 keyword defined within the
1339 .I environment
1340 class definition inside your gosa.conf.
1342 .B Example:
1344 .nf
1345   <plugin acl="users/environment"
1346           class="environment"
1347           kioskPath="/var/spool/kiosk"/>
1348 .fi
1350 Make sure, that this path is writeable by GOsa.
1352 .SH Settings for the FAI plugin
1354 The FAI plugin can be used in a way that it generates branched or
1355 freezed releases inside your repository. Specifying the
1356 .I postcreate
1357 and
1358 .I postmodify
1359 keywords in the
1360 .I servrepository
1361 definition, calls the provided script as a hook when adding or
1362 removing branches. This script should do the rest inside of your
1363 repository.
1365 .B Example:
1367 .nf
1368   <tab class="servrepository" 
1369           repositoryBranchHook="/opt/dak/bin/get_extra_repos"
1370           postcreate="/opt/dak/bin/handle_repository '%lock_dn' '%lock_name' '%lock_type' />
1371 .fi
1373 .I %lock_dn
1374 keeps the base DN of the source branch,
1375 .I %lock_name
1376 the name of the new branch and
1377 .I %lock_type
1378 is either "freeze" or "branch".
1380 The
1381 .I repositoryBranchHook
1382 outputs additional releases, that are not retrieveable with the standard
1383 GOsa/FAI methods.
1385 If you have only one release, or want to define a default release to be shown
1386 by GOsa, define the
1387 .I defaultFaiRelease="ou=sarge,ou=fai,ou=configs,ou=syst..."
1388 within the 
1389 .I faiManagement
1390 class definition
1392 .SH Settings for the addressbook plugin
1394 The addressbook plugin can be configured to store the addressbook data on
1395 a special location. Use the
1396 .I addressbookBaseDN
1397 keyword within the
1398 .I addressbook
1399 class definition inside your gosa.conf to configure this location.
1401 Default:
1402 .I ou=addressbook.
1404 .SH Settings for system plugins
1405 For the
1406 .I workstationStartup
1407 and
1408 .I terminalStartup
1409 classes, you can define the
1410 .I systemKernelsHook
1411 keyword. It can load additional kernels that are not retrieveable by
1412 standard GOsa/FAI mechanisms.
1414 In order to make use of SNMP information, you can set the
1415 .I snmpCommunity
1416 in the
1417 .I terminfo
1418 class definition.
1420 To enable the burn CD image function, you can specify the
1421 .I systemIsoHook
1422 in the
1423 .I workgeneric
1424 class. You will get a CD symbol in the systems list - which calls
1425 the hook if pressed.
1427 .SH AUTHOR
1428 .B gosa.conf(5)
1429 was written by Cajus Pollmeier for
1430 the GOsa project (
1431 .B http://www.gosa-project.org
1432 ).