1 |
diff -up smeserver-zarafa-0.9.0/root/etc/e-smith/templates/etc/zarafa/unix.cfg/unix.cfg.unix_plugin_fix smeserver-zarafa-0.9.0/root/etc/e-smith/templates/etc/zarafa/unix.cfg/unix.cfg |
2 |
--- smeserver-zarafa-0.9.0/root/etc/e-smith/templates/etc/zarafa/unix.cfg/unix.cfg.unix_plugin_fix 2010-05-22 17:47:04.000000000 +0100 |
3 |
+++ smeserver-zarafa-0.9.0/root/etc/e-smith/templates/etc/zarafa/unix.cfg/unix.cfg 2010-05-22 17:50:49.000000000 +0100 |
4 |
@@ -1,34 +1,53 @@ |
5 |
+{ |
6 |
+use esmith::AccountsDB |
7 |
+} |
8 |
############################################################## |
9 |
# UNIX USER PLUGIN SETTINGS |
10 |
# |
11 |
-# Any of these directives that are required, are only required if the |
12 |
-# userplugin parameter is set to unix. |
13 |
- |
14 |
-# Charset used in /etc/passwd for the fullname of a user. Normally this |
15 |
-# is us-ascii, but this can differ according to your setup. |
16 |
-# The charset specified here must be supported by your iconv(1) |
17 |
-# setup. See iconv -l for all charsets. |
18 |
-fullname_charset = iso-8859-15 |
19 |
- |
20 |
-# Default email domain for constructing new users |
21 |
-# Required, no default |
22 |
-default_domain = { ${'zarafa-server'}{DomainName} || $DomainName; } |
23 |
- |
24 |
# The lowest user id that is considered a regular user |
25 |
# Optional, default = 1000 |
26 |
-min_user_uid = 5000 |
27 |
+min_user_uid = 101 |
28 |
|
29 |
# The highest user id that is considered a regular user |
30 |
# Optional, default = 10000 |
31 |
max_user_uid = 10000 |
32 |
|
33 |
+# A list of user ids that are not considered to be regular users |
34 |
+# Optional, default = empty |
35 |
+except_user_uids = { |
36 |
+$accounts = esmith::AccountsDB->open_ro or die "Could not open AccountsDB"; |
37 |
+{ |
38 |
+while (($name, $passwd, $uid, $gid, $quota, |
39 |
+ $comment, $gcos, $dir, $shell) = getpwent()) |
40 |
+{ |
41 |
+$user = $accounts->get($name); |
42 |
+ |
43 |
+$OUT .= "$uid " |
44 |
+ unless $uid <= 101 or (defined $user and $user->prop('type') eq "user"); |
45 |
+} |
46 |
+} |
47 |
+} |
48 |
+ |
49 |
# The lowest group id that is considered a regular group |
50 |
# Optional, default = 1000 |
51 |
min_group_gid = 5000 |
52 |
- |
53 |
-# The highest group id that is considered a regular group |
54 |
# Optional, default = 10000 |
55 |
max_group_gid = 10000 |
56 |
+ |
57 |
+# A list of group ids that are not considered to be regular groups |
58 |
+# Optional, default = empty |
59 |
+except_group_gids = { |
60 |
+setpwent(); |
61 |
+while (($name, $passwd, $uid, $gid, $quota, |
62 |
+ $comment, $gcos, $dir, $shell) = getpwent()) |
63 |
+{ |
64 |
+$group = $accounts->get($name); |
65 |
+ |
66 |
+$OUT .= "$gid " |
67 |
+ unless $gid < 5000 or (defined $group and $group->prop('type') eq "group"); |
68 |
+} |
69 |
+endpwent(); |
70 |
+} |
71 |
|
72 |
# Create a user as non-active when it has this unix shell |
73 |
non_login_shell = /bin/false |