前言
Zimbra
的社区开源版OSE
是不提供像企业版那样的多租户可分域单独授权管理员的功能的,虽然UI
上不提供相应的功能,但底层的核心还是保留了完整的分权管理架构的权限划分的;毕竟企业版和OSE
的大部分核心程序都还是公用的;
所以OSE
在底层的功能上也是能支持多域管理员功能的,只是我们无法通过UI
去方便的设定分域的管理员权限,但通过后台的Zimbra
的管理指令,手动进行逐一的权限赋予和分配,同样也是能够实现这个功能的;
功能脚本
这里找到一个简单的脚本,已经帮我们将一个基本的子域管理员账号所需要的基本权限都包含了,我们只需要运行这个脚本,并制定需要授权的域名和管理员邮箱地址,就可以将这个邮箱账号提升为制定域名的授权管理员,可实现在该域内进行账号的新增,删除,启用,停用以及修改密码等管理操作,也包含针对该域名属性的设置调整等操作权限;
当然,如果你对Zimbra
内部的权限定义足够熟悉了,也可以自行修改,自定这个脚本中的权限设定,以建立一个个性化符合特殊需求权限设定的域管理员账号;
脚本 domain-admin.sh
内容:
#!/bin/bash
# $1 domain
# $2 email
zmprov ma $2 zimbraIsDelegatedAdminAccount TRUE
zmprov ma $2 zimbraAdminConsoleUIComponents cartBlancheUI zimbraAdminConsoleUIComponents domainListView zimbraAdminConsoleUIComponents accountListView zimbraAdminConsoleUIComponents DLListView
zmprov ma $2 zimbraDomainAdminMaxMailQuota 0
zmprov grantRight domain $1 usr $2 +createAccount
zmprov grantRight domain $1 usr $2 +createAlias
zmprov grantRight domain $1 usr $2 +createCalendarResource
zmprov grantRight domain $1 usr $2 +createDistributionList
zmprov grantRight domain $1 usr $2 +deleteAlias
zmprov grantRight domain $1 usr $2 +listDomain
zmprov grantRight domain $1 usr $2 +domainAdminRights
zmprov grantRight domain $1 usr $2 +configureQuota
zmprov grantRight domain $1 usr $2 set.account.zimbraAccountStatus
zmprov grantRight domain $1 usr $2 set.account.sn
zmprov grantRight domain $1 usr $2 set.account.displayName
zmprov grantRight domain $1 usr $2 set.account.zimbraPasswordMustChange
zmprov grantRight account $2 usr $2 +deleteAccount
zmprov grantRight account $2 usr $2 +getAccountInfo
zmprov grantRight account $2 usr $2 +getAccountMembership
zmprov grantRight account $2 usr $2 +getMailboxInfo
zmprov grantRight account $2 usr $2 +listAccount
zmprov grantRight account $2 usr $2 +removeAccountAlias
zmprov grantRight account $2 usr $2 +renameAccount
zmprov grantRight account $2 usr $2 +setAccountPassword
zmprov grantRight account $2 usr $2 +viewAccountAdminUI
zmprov grantRight account $2 usr $2 +configureQuota
使用方法
该脚本必须以zimbra
用户身份执行
使用时必须传输2个必须的参数,需要被管理员的域名,以及要被设置为管理员的账号邮件地址
#su - zimbra
$./domain-admin.sh domain.com admin@domain.com
脚本执行后可能会需要几十秒的时间才能结束,然后使用这个被赋权的账号登录zimbra
的管理界面,默认 7071 端口,即可对对该域下的对象和资源进行管理操作;