forked from Zimbra-Community/zimbra-tools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdelegate-admin2
94 lines (81 loc) · 3.64 KB
/
delegate-admin2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/bin/bash
# Create delegated administrator on Zimbra 8.x FOSS Edition
# Credits to barrydegraaff: https://gist.github.com/barrydegraaff/d1549d7e3f1951067da2
# Warning: MUST be use as ZIMBRA user and DOMAIN variable MUST be set
# Delegated admin can create/modify accounts, alias, distribution lists and resources
# Domain of concern to be changed
DOMAIN='example.com'
# Ensure script is running under zimbra user
WHO=`whoami`
if [ $WHO != "zimbra" ]
then
echo
echo "Execute this scipt as user zimbra (\"su - zimbra\")"
echo
exit 1
fi
echo
echo
echo "Zimbra Delegate Admin control"
echo "*************************************************"
echo "Utility to grant/revoke delegated administrators"
echo
echo "Please choose R for revoke or G for grant (RG) or any other key to abort."
read -p "RG: " rg
if [ "$rg" == 'R' ]
then
echo "Please enter the user name (example: foo.bar@example.com) you wish to revoke delegated domain admin rights from."
read -p "username: " username
# Remove delegation
zmprov ma $username zimbraIsDelegatedAdminAccount FALSE
# Add/Create delegation
elif [ "$rg" == 'G' ]
then
echo "Please enter the user name (example: foo.bar@example.com) you wish to grant delegated domain admin rights."
read -p "username: " username
# assigning admin views
zmprov ma $username zimbraIsDelegatedAdminAccount TRUE
zmprov ma $username +zimbraAdminConsoleUIComponents accountListView
zmprov ma $username +zimbraAdminConsoleUIComponents DLListView
zmprov ma $username +zimbraAdminConsoleUIComponents aliasListView
# grant rights
# Alias Managment
zmprov grr domain $DOMAIN usr $username +deleteAlias
zmprov grr domain $DOMAIN usr $username +listAlias
zmprov grr domain $DOMAIN usr $username createAlias
zmprov grr domain $DOMAIN usr $username listAlias
zmprov grr domain $DOMAIN usr $username addAccountAlias
# Account Managment
zmprov grr domain $DOMAIN usr $username +listAccount
zmprov grr domain $DOMAIN usr $username +renameAccount
zmprov grr domain $DOMAIN usr $username +setAccountPassword
zmprov grr domain $DOMAIN usr $username +listDomain
zmprov grr domain $DOMAIN usr $username +createAccount
zmprov grr domain $DOMAIN usr $username +getAccountInfo
zmprov grr domain $DOMAIN usr $username +getAccountMembership
zmprov grr domain $DOMAIN usr $username +setAccountPassword
zmprov grr domain $DOMAIN usr $username +removeAccountAlias
zmprov grr domain $DOMAIN usr $username set.account.zimbraAccountStatus
zmprov grr domain $DOMAIN usr $username set.account.sn
zmprov grr domain $DOMAIN usr $username set.account.givenName
zmprov grr domain $DOMAIN usr $username set.account.displayName
zmprov grr domain $DOMAIN usr $username set.account.zimbraPasswordMustChange
# Distribution List Managment
zmprov grr domain $DOMAIN usr $username +createDistributionList
zmprov grr domain $DOMAIN usr $username +addDistributionListMember
zmprov grr domain $DOMAIN usr $username +removeDistributionListMember
zmprov grr domain $DOMAIN usr $username +getDistributionListMembership
zmprov grr domain $DOMAIN usr $username +getDistributionList
zmprov grr domain $DOMAIN usr $username +modifyDistributionList
zmprov grr domain $DOMAIN usr $username +listDistributionList
# Resource Managment
zmprov grr domain $DOMAIN usr $username +createCalendarResource
zmprov grr domain $DOMAIN usr $username +listCalendarResource
zmprov grr domain $DOMAIN usr $username +getCalendarResource
zmprov grr domain $DOMAIN usr $username +getCalendarResourceInfo
zmprov grr domain $DOMAIN usr $username +modifyCalendarResource
else
echo "Invalid option, abort"
exit 0
fi
exit 0