Code

Updated FAQ
[gosa.git] / gosa-core / FAQ
1 This is the textual form of the GOsa FAQ. Online information with
2 comments is set up at Wiki: https://oss.gonicus.de/labs/gosa/wiki/documentation
5 Q:  When creating many users for one department, I need to fill 
6     somefields again and again. Is there a shortcut for that?
8 A:  Just create a user template and pre-fill all values you need. You
9     can use dynamic content, too: uid, sn and givenName will be replaced.
10     i.E. an entry '/home/{%uid}' in homeDirectory will be replaced by the
11     real uid of the user you're creating, {%sn[0-4]}.{%givenName}@yourdomain.com
12     creates proper email addresses, etc. Templates include group membership.
14     For more details visit:
15     https://oss.gonicus.de/labs/gosa/wiki/PluginInstallationUserTemplates
18 Q:  I can see passwords in my logs and in my process list while executing 
19     commands, such as postcreate/passwordHook/aso.
21 A:  The best way to execute scripts with sensitive data is to use envrionmental 
22     variables in your scripts, like shown here:
24     An example snippet from the gosa.conf
25     
26     ---
27     <plugin name='User password' class='password'
28         postmodify="NEWPASSWORD=%new_password /usr/bin/sudo /scripts/myScript.sh"
29     ---
30     
31     Another example for the password check hook (The passwordHook is deprecated in GOsa 2.7):
32     ---
33     <location
34         passwordHook="CURRENTPWD=%current_password NEWPWD=%new_password /usr/bin/sudo /scripts/myScript.sh"
35     ---
37     You can then use the variables like this:
38     ---
39     #!/bin/sh
40     echo $CURRENTPWD
41     echo $NEWPWD
42     ---
45 Q:  Can GOsa execute commands 'BEFORE' creating/editing/removing users,departments, etc. 
47 A:  Yes. Edit /etc/gosa/gosa.conf's menu section. 
48     Each plugin may has an entry "preremove", "premodify" and "precreate".  
49     You can use ldap attributes as command line options.
51     i.E. 
52     ---
53     precreate="/usr/bin/sudo /usr/local/sbin/ftp.setperms %uid %givenName"
54     ---
57 Q:  Can GOsa execute commands 'AFTER' creating/editing/removing users,departments, etc. 
59 A:  Yes. Edit /etc/gosa/gosa.conf's menu section. 
60     Each plugin may has an entry "postremove", "postmodify" and "postcreate".  
61     You can use ldap attributes as command line options.
63     i.E. 
64     ---
65     postcreate="/usr/bin/sudo /usr/local/sbin/ftp.setperms %uid %givenName"
66     ---
69 Q:  I'd like to  modify the look of GOsa to fit our CI. How can I create anown theme? 
71 A:  Themes are splitted into two parts. ihtml/ contains templates which
72     generate the ui, html/ contains all parts that must be readable from
73     clients. GOsa first looks for predefined files in the directory indirectly
74     defined via the "theme" parameter in /etc/gosa/gosa.conf. If it can't
75     find them here, it'll use the default one.
77     So start over by copying html/themes/default to html/themes/yourtheme
78     and ihtml/themes/default to ihtml/themes/yourtheme. Change gosa.conf to
79     contain theme="yourtheme" in section main. Here are some files to edit:
81     * login.tpl          -> login screen
82     * framework.tpl    -> page contents
83     * style.css          -> stylesheets used by GOsa
86 Q:  How can I let a person do administrative tasks under a specific department? 
88 A:  GOsa 2.6 implements a flexible but complex ACL management, please have a look at 
89     the following wiki page: https://oss.gonicus.de/labs/gosa/wiki/DocumentationWritingACLs2.6
90     If you have still questions, please use the mailing list or the forum.
93 Q:  What about applications? 
95 A:  GOsa can manage desktop applications in ldap. Create a group and put all users
96     in there, which have common desktop settings. Go to the "Application" tab and
97     add all applications common to this group. Applications can be created from the
98     application plugin.
99     The idea behind this feature is a script running on the terminal-servers/
100     workstation which check for applications on login (or on a regular basis using
101     timestamps). This one will create the corresponding icons on your KDE or GNOME
102     desktop.
105 Q:  What's this terminal stuff? 
107 A:  GOto is - similar to LTSP - a ldap based diskless client system. It is available
108     from our projects page.
111 Q:  I can't select any mailservers. What's wrong? 
113 A:  It seems that a mail server is missing in your configuration.
114     Create a new server, go to the services tab and add a mailserver 
115     service and/or the imap service.
116     For more details, please have a look at the FAQ and 
117     https://oss.gonicus.de/labs/gosa/wiki/PluginInstallationMailMethods. 
121 Q:  Can I specify some kind of password policies? 
123 A:  You can place the keywords "passwordMinLength" and "passwordMinDiffer" in the main
124     section of your gosa.conf. "passwordMinLength" specifies how many characters a
125     password must have to be accepted. "passwordMinDiffer" contains the number of
126     characters that must be different from the previous password.
128     Note that these only affect passwords that are set by the user, not by the admins.
132 Q:  I've to update passwords on external windows PDCs. Can I 
133     add a command to letsynchronize these for me? 
135 A:  There's the possibility to add a hooks in gosa.conf's plugin tags 
136     using the "premodify/postmodify" keywords. The specified command 
137     will be executed with these additional parameters: 
138     * current_password 
139     * new_password 
140     * userPassword
142     ---
143     <plugin acl="users/password:self" class="password"
144      premodify="/scripts/prepareForPasswordChange %current_password %new_password %uid"
145      check="/scripts/checkPasswordHash %userPassword %dn"
146      postmodify="/scripts/changePassword %dn %uid %userPassword %current_password %new_password %userPassword"
147     >
148     ---
150     For further information about pre- and post hooks search for the premodify and postmodify statements.
152     So you can call i.e. smbpasswd to handle your password change on the PDC.
156 Q:  What about templates for vacation messages? 
158 A:  Create a directory to keep a set of vacation messages which are readable by the
159     user that runs your apache. In this example I'll use /etc/gosa/vacation for that.
161     Put your vacation files in there containing a "DESC:some descriptive text" as the
162     first line followed by the normal vacation text. You can use all attributes from
163     the generic tab. I.e.:
165     /etc/gosa/vacation/business.txt 
166     --- 
167      DESC:Away from desk
168      Hi, I'm currently away from my desk. You can contact me on
169      my cell phone via %mobile.
171      
172      Greetings,
173      %givenName %sn
174     ---
175      
176     Place the config option vacationTemplateDirectory="/etc/gosa/vacation" in the location found in
177     gosa.conf and a template box is show in the vacation mail tab.
181 Q:  How can I generate automatic ID's for user templates? 
183 A:  Add an entry describing your id policy in gosa.conf, location section:
186     1) Using attributes
187     You can specify LDAP attributes (currently only sn and givenName) in braces {}
188     and add a percent sign befor it. Optionally you can strip it down to a number
189     of characters, specified in []. I.e.
191     --- 
192     idGenerator="{%sn}-{%givenName[2-4]}"
193     ---
195     will generate an ID using the full surename, adding a dash, and adding at least
196     the first two characters of givenName. If this ID is used, it'll use up to four
197     characters. If no automatic generation is possible, a input box is shown.
199     2) using automatic id's
200     I.e. specifying
202     --- 
203     idGenerator="acct{id:3}"
204     ---
206     will generate a three digits id with the next free entry appended to "acct".
208     --- 
209     idGenerator="ext{id#3}"
210     ---
212     will generate a three digits random number appended to "ext".
217 Q:  I'm migrating from the current LDAP, now GOsa does not allow uid's 
218     and groupwith upper/lower case and spaces. What can I do? 
220 A:  Include the strictNamingRules="no" keyword in your gosa.conf's location section.
221     
222     WARNING: using strictNamingRules="no" will cause problems with cyrus/postfix!!
226 Q:  I'd like to place my users under ou=staff, not under ou=people. Can I changethis? 
228     Yes. You can change the people and group locations by adding the following
229     statements to your location sections:
231     --- 
232     userRDN="ou=staff"
233     groupRDN="ou=crowds"
234     ---
236     After logging in again, people and groups are created in the configured places.
237     As a side note, you can leave these strings blank for flat structures, too.
242 Q:  I really don't want dn's containing the CN for user accounts because I don't
243     want to support anonymous binds for uid resolution. 
244     Is it possible to have dn'scontaining the uid instead? 
246 A:  Yes. Placing the accountPrimaryAttribute="uid" keyword in your gosa.conf's location
247     section will solve your problem.
252 Q:  Hey, I've installed GOsa, but it claims something about "SID and / or RIDBASE
253     are missing in your configuration". What's wrong? 
255 A:  You've configured GOsa to use samba3, but your LDAP has no samba domain object
256     inside. Either log into samba for the first time to let it create that object,
257     or supply the sid and ridbase for your domain in your gosa.conf's location, i.e.:
259     --- 
260     <location name=...>
261         ...
262         sambaRidBase="1000"
263         sambaSID="0-815-4711" \>
264     ---
266     Remember to fill in your real domain sid which is retrievable by the command
267     "net getlocalsid".
271 Q:  We have massive performance problems with using samba as a member server. 
273 A:  This is a known issue. We're working around this by putting
275     --- 
276     <location name=...>
277         ...
278         sambaIdMapping="true"
279         ... \>
280     ---
282     into the configuration. GOsa will write the additional objectClass sambaIdmapEntry
283     to the group and user objects.
287 Q:  I get 'The value specified as GID/UID number is too small' when forcing IDs. Why? 
289 A:  This is an additional security feature, so that no one can fall back to uid 0. The
290     default minimum ID is 100. You can set it to every value you like by specifying
292     --- 
293     <location name=...>
294         ...
295         minId="40"
296         ... \>
297     ---
299     in your configuration. In this example 40 will be the smallest ID you can enter.
303 Q:  Aahhrg. I've updated to a new version and my gosa.conf seems to be broken. 
305 A:  Some parameters may have changed. Please move your gosa.conf away and re-run the setup.
310 Q:  I've saved my windows workstations in other locations like GOsa is doing it
311     for decades. Is there a way to change this? 
313 A:  Yes. Use the sambaMachineAccountRDN parameter in your location section: 
315     --- 
316     <location name=...>
317         ...
318         sambaMachineAccountRDN="ou=machineaccounts"
319         ... \>
320     ---
324 Q:  I'd like to have TLS based LDAP connections from within GOsa. Is this possible? 
326 A:  Yes, add
328     --- 
329     <location ...>
330         ...
331               ldapTLS="true"
332         ... \>
333     ---
335     to the location section of GOsa. This switch affects LDAP connections for a single location only.
339 Q:  Cyrus folder get created in the style user.username. I prefer the unix 
340     hirachystyle user/username. Is it possible to change this? 
342 A:  Yes, add
345     --- 
346     <location
347         cyrusUseSlashes="true"
348     ---
350     to the location or main section of GOsa and the folders are created in unix style.
354 Q:  I've a cyrus installation with customized user and folder prefixes. 
355     How can I tell GOsa to use the prefixes I prefer? 
357 A:  Simply set the following attributes in the location tag of your gosa.conf:  
359     --- 
360     <location 
361         mailUserCreation="myprefix/%mail%"
362         mailFolderCreation="myfolder\\.%cn%@%domain%"
363     ---
366     The dot in the above example is escaped to prevent it from replacing with '/' if 
367     cyrusUseSlashes is set to true.
370     You can use the following replacements:
371     --- 
372     %cn%       - The groups cn.
373     %uid%      - The users uid.
374     %prefix%   - The default prefix used by the mailmethod.
375     %uattrib%  - The configured mailAttribute="" (gosa.conf).
376     %domain%   - The domain part of the given mail address. (user@domain.com = domain.com)
377     %mailpart% - The user part of the mail address. (user@domain.com = user)
378     %mail%     - The complete mail address. 
379     ---
383 Q:  I want to use cyrus for multiple mail domains, but GOsa uses the 'uid' attribute 
384     for account namens, how do I change this to 'mail'? 
386 A:  Just add/modify the following line to/in your gosa.conf:
388     --- 
389     <location 
390         ...
391         mailAttribute="mail"
392     ---
396 Q:  I'd like to do special checks for several plugin parameters. How can I modify
397     GOsa to take care of these checks? 
399 A:  No need to modify anything. Just add a hook the the plugin you'd like to
400     check:
402     --- 
403     check="/your/command/binary"
404     ---
406     This binary will get an ldif to STDIN for analysis and may write an error message
407     to STDOUT. Note, that the supplied ldif may NOT be the original target ldif due
408     to technical reasons.
412 Q:  Is there a way to use ACL independet filtering when using administrative units? 
414 A:  Yes. Set "honourUnitTags" to "true" in your gosa.conf's location section.
418 Q:  How can i active the account expiration code for the gosa interface? 
420 A:  Yes. Just set "handleExpiredAccounts" to "true" in your gosa.conf's main section.
424 Q:  What is the correct connection string for a Kolab server in GOsa? 
426 A:  Try {localhost:143/novalidate-cert}.
430 Q:  Sieve is not working from GOsa - there are authentication problems
431     with this service, IMAP/POP is working. What's wrong? 
433 A:  Verify that the paramater sasl_auto_transition: no is not present in your imap.conf
437 Q:  I have a SIEVE problem - "Can't log into SIEVE server. Server  says //. - 
439 A:  Probably something is wrong with the authentification which is used by timesieved.
440     * Check if you can login with "sieveshell" on this host.
441     * Also check "telnet localhost 2000" - Is there any output about "Plain Login"?
443     Please verify the ldap imap attributes, like goImapSieveServer and goImapSievePort. 
444     These value can be modified using the server->services tab in GOsa 2.6.
446     Here is an older, but maybe helpful solution for Cyrus-Imapd 2.1.5 on SuSE 9.0:
447     * Install the "cyrus-sasl-plain" rpm from the distro-cd (This packet contains "sasl2/libplain" library).
448     * Modify your /etc/imap.conf:
450     --- 
451     sasl_pwcheck_method: saslauthd
452     sasl_mech_list: plain login
453     ---
455     * Modify your /etc/sysconfig/saslauthd:
457     --- 
458      SASLAUTHD_AUTHMECH=pam
459     ---
462 Q:  Slapd does not start after adding or changing schema files to the slapd config. What can I do? 
464 A:  Check the order of how slapd loads the schema files. 
465     Order of schema loading matters, because some schemas depend on other
466     schemas being already loaded. For a working order of the schema files 
467     look here: https://oss.gonicus.de/labs/gosa/wiki/InstallingLdap
471 Q:  Slapd does not start with kolab2.schema included. It claims that thedefinition of 
472     calFBURL is missing. What can I do? 
474 A:  For Kolab to work correctly you have to include the rfc2739.schema
475     in your slapd.conf. Insert it before the kolab2.schema
479 Q:  New implementations of OpenLDAP seem to require {sasl} instead of {kerberos}
480     in password hashes. GOsa writes the wrong string. What can I do? 
482 A:  You can set "useSaslForKerberos" to "true" in your gosa.conf's main section.
486 Q:  Is there a way to add the personalTitle attribute the the users dn? 
488 A:  Just add this line into the location section of your gosa.conf.
491     --- 
492     <location
493     ... 
494     personalTitleInDN="true"
495     ---
499 Q:  I'd like to assign different uid bases for certain user/group objects.How can this be achieved? 
501 A:  Use the 'baseIdHook' in your gosa.conf's location section to specify a script
502     which handles the ID generation externaly. It get's called with the "dn"
503     and the attribute to be ID'd. It should return an integer value.
507 Q:  I'd like to use rfc2307bis compliant groups. Is this possible? 
509 A:  Yes - place the rfc2307bis="true" inside of the location section of
510     your gosa.conf. Remember, that you can't create empty groups in this mode.
514 Q:  GOsa sessions expire too quick. Is there a way to change this? 
516 A:  Yes. Set "sessionLifetime" to the number of seconds of inactivity. 7200
517     (60x60x2) would be for two hours. Place this option inside the main
518     section of your gosa.conf.
522 Q:  Is there a way to let users change passwords without logging into GOsa? 
524 A:  Yes. Browse to "password.php". You can preset a couple of things i.e.:
526     --- 
527     http://your.admin.server/password.php?uid=cajus&method=md5&directory=GONICUS+GmbH
528     ---
532 Q:  GOsa only shows 300 entries at a time. Is this normal? 
534 A:  There's a default sizelimit. You can set the "ldapSizelimit" option in your
535     gosa.conf's  location section to a higher value to get rid of it.
539 Q:  I have problems with my ldap server when I open groups with a 
540     huge amount of members, what can I do? 
542 A:  You can set a nesting limit which ensures that the user names will not be 
543     resolved if the amount of members reaches this limit.
545     --- 
546     <location
547         ...
548         ldapFilterNestingLimit="100"
549     ---
552 Q:  I want to disable the "Is the configuration file up to date?" check when logging in.
553     How can I disable this check? 
555 A:  Just set the configVersion attribute to an empty value:
557     --- 
558     <conf configVersion="" >
559     ---
563 Q:  I've shredded my access control and am not able to do anything from now on. 
564     Is there a way to override the ACL? 
566 A:  Yes. Insert the following statement in the location section of your gosa.conf:
568     --- 
569     ignoreAcl="your user's dn"
570     ---
573 Q:  I can't logon as Administration, what is wrong? 
575 A:  It looks like you are missing an administrativ account. 
576     In newer versions of GOsa you can simply re-run the setup and create 
577     an admin account on the migration page. 
579     Additionally you can set ignoreACL in GOsa 2.6, just search the FAQ.
583 Q:  The Unix's user's shell list is empty (unconfigured) 
585 A:  Just copy or link your /etc/shell in /etc/gosa.
589 Q:  After upgrading GOsa, the setup.php doesn't work or looks broken.  
591 A:  You should delete all files in /var/spool/gosa
593     --- 
594     # cd /var/spool/gosa
595     # rm -rf *
596     ---
600 Q:  After installing GOsa using an existing LDAP tree, my user accounts are not listed. 
602 A:  You need to add the following objectClasses to your accounts:
604     --- 
605     objectClass: person
606     objectClass: organizationalPerson
607     ---
609     The setup will automatically migrate those accounts, see migration step in GOsa setup!
613 Q:  Is it possible to login with the users mail address too?  
615 A:  Yes, just add the following line to your gosa.conf:
617     --- 
618     <location 
619         ...
620         loginAttribute="mail"
621     ---
623     or for both, uid and mail:
625     --- 
626     <location 
627         ...
628         loginAttribute="uid,mail"
629     ---
633 Q:  GOsa doesn't seem to follow my referrals. What can I do? 
635 A:  Place the option 'ldapFollowReferrals = "true"' inside your locations definition
636     and you should be fine.
640 Q:  GOsa is not in my native language, can I translate it to my language? 
642     Yes. Just go to the locale directory and copy the messages.po file somewhere
643     else. (Translation is splitted into core and plugin translation files). 
644     Edit the copy and put your translations into the msgstr lines. To be
645     included in next GOsa releases, you may want to send it to the GOsa maintainer.
646     Finally you need to create a directory with your language code. (i.e. de for
647     german) containing the LC_MESSAGES directory. Move your messages.po file there
648     and run 'msgfmt messages.po' in that directory. That's it.
650     You may need to restart apache, depending on your setup. On Debian, be sure
651     to have your locale generated (dpkg-reconfigure locales) before.