1 |
bytegw |
1.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 |