csdomain 实用程序可以在托管(虚拟)域的 LDAP 目录中管理 Calendar Server 属性。这些属性是 icsCalendarDomain 对象类的一部分。命令包括:
create,用于在 LDAP 目录中创建一个新的托管域。
add,用于在 LDAP 目录中为指定的托管域添加 Calendar Server 属性及其关联值。
delete,用于从 LDAP 目录中删除特定托管域的 Calendar Server 属性或删除整个托管域。
list,用于列出 LDAP 目录中特定托管域的 Calendar Server 属性。
必须处于托管(虚拟)域模式下,才能运行 csdomain。也就是说,必须设置 ics.conf 文件中的以下参数:
service.virtualdomain.support 必须设置为 "yes"。
local.schemaversion 必须设置为 LDAP schema 的版本("1"、"1.5" 或 "2")。
如果 local.schemaversion = “1” 或 “1.5” ,则 service.dcroot 必须设置为 LDAP 目录中 DC 树的根后缀。
如果 local.schemaversion = “2”,则 service.schema2root 必须设置为所有域所在目录的根后缀。
在使用 csdomain 添加组织树节点之前,必须按照第 11 章,设置托管域中的说明进行操作。
必须在已安装 Calendar Server 的本地计算机上运行 csdomain。
Calendar Server 可以正在运行或已经停止。
必须以安装过程中指定的运行 Calendar Server 的用户和组(例如 icsuser 和 icsgroup)身份登录,或以 root 身份登录。
csdomain [-q | -v] -n node create domain csdomain [-q | -v] {-a attr[=value] | -f filename} add domain csdomain [-q | -v] [-a attr | -f filename] delete domain csdomain [-q | -v] list domain |
下表介绍了可用于 csdomain 实用程序的命令。
表 D–13 csdomain 实用程序命令
命令 |
说明 |
---|---|
create |
在 LDAP 目录中创建新的托管域。然后,在目录中的此条目下创建域的所有 Calendar Server 用户和资源。 |
add |
在 LDAP 目录中为特定域添加 Calendar Server 属性及其关联值。如果使用 csdomain 添加或更新域的 LDAP 属性,必须重新启动 Calendar Server 才能使新值生效。 |
delete |
从 LDAP 目录中删除某个特定托管域的 Calendar Server 属性,或删除整个域的所有 LDAP 条目。 |
list |
列出 LDAP 目录中某个特定域的 Calendar Server 属性。 |
version |
显示实用程序的版本。 |
下表介绍了 csdomain 实用程序命令选项。
表 D–14 csdomain 实用程序命令选项
选项 |
说明 |
---|---|
-v |
在详细模式下运行:显示正在执行的命令的所有可用信息。默认值为 off。 |
-q |
在静默模式下运行:
|
-a attr[=value] |
指定 LDAP 属性的属性名及其可选值。 有关这些属性和 Property 名的列表,请参见LDAP 属性和 property 名。 |
-f filename |
指定包含 Calendar Server LDAP 目录的 property 名及其关联值的文本文件。 例如: createLowerCase="yes" filterPrivateEvents="no" fbIncludeDefCal="no" subIncludeDefCal="no" uiProxyUrl="https://proxyserver " |
-n node |
按照如下说明应用到 create 命令:
|
domain |
对于 add、delete 和 list 命令,指定 LDAP 目录中的现有域。 对于 create 命令,为将在 LDAP 目录中创建的新域指定一个唯一的名称。 例如:west.sesta.com |
下表介绍了应用于 csdomain 实用程序的 LDAP 属性和 property 名。这些属性是 icsCalendarDomain 对象类的一部分。添加或删除值时,必须使用 property 名而不是属性名。
如果使用 csdomain 添加或更新域的 LDAP 属性,必须重新启动 Calendar Server 才能使新值生效。
LDAP 属性和 property 名介绍了可以使用 csdomain 实用程序设置的 icsAllowRights 属性及其属性。属性是一个 32 位的数字字符串,字符串中的每一位都对应于一种特定的用户权限。(在当前发行版中,一些位没有使用,默认情况下被设置为零。)如果设置了与某个权限对应的位(值 = 1),则不允许该权限。如果未设置该位(值 = 0),则允许该权限。
icsAllowRights 属性中的每个属性都有一个对应的 ics.conf 参数。如果某个属性没有设置(值 = 0)或不存在 (service.virtualdomain.support = "no"),Calendar Server 将使用对应的 ics.conf 参数作为默认值。
icsAllowRights 的值是数字字符串,而不是整数。要在按位进行的操作中以编程方式使用 icsAllowRights,必须首先将其字符串值转换为整数。
表 D–15 icsAllowRights LDAP 目录属性和 Property
位 |
property 名 |
说明 |
---|---|---|
0 |
allowCalendarCreation |
如果设置(第 0 位 = 1),则不允许创建日历。 对应的 ics.conf 参数: service.wcap.allowcreatecalendars |
1 |
allowCalendarDeletion |
如果设置(第 1 位 = 1),则不允许删除日历。 对应的 ics.conf 参数: service.wcap.allowdeletecalendars |
2 |
allowPublicWritableCalendars |
如果设置(第 2 位 = 1),则不允许公共可写日历。 对应的 ics.conf 参数: service.wcap.allowpublicwriteablecalendars |
3 |
当前发行版中未使用。 |
|
4 |
allowModifyUserPreferences |
如果设置(第 4 位 = 1),则不允许域管理员使用 WCAP 命令来获取或设置用户首选项。 对应的 ics.conf 参数: service.admin.calmaster.wcap.allowgetmodifyuserprefs |
5 |
allowModifyPassword |
如果设置(第 5 位 = 1),则不允许用户通过此服务器更改密码。 对应的 ics.conf 参数: service.wcap.allowchangepassword |
6 |
当前发行版中未使用。 |
|
7 |
当前发行版中未使用。 |
|
8 |
allowUserDoubleBook |
如果设置(第 8 位 = 1),则不允许双重预订用户日历。 对应的 ics.conf 参数: user.allow.doublebook |
9 |
allowResourceDoubleBook |
如果设置(第 9 位 = 1),则不允许双重预定资源日历。 对应的 ics.conf 参数: resource.allow.doublebook |
10 |
allowSetCn |
如果设置(第 10 位 = 1),则不允许用户使用 WCAP set_userprefs 命令来设置通用名称 (cn) 属性。 对应的 ics.conf 参数: service.wcap.allowsetprefs.cn |
11 |
allowSetGivenName |
如果设置(第 11 位 = 1),则不允许用户使用 WCAP set_userprefs 命令来设置 givenName 属性。 对应的 ics.conf 参数: service.wcap.allowsetprefs.givenname |
12 |
allowSetGivenMail |
如果设置(第 12 位 = 1),则不允许用户使用 WCAP set_userprefs 命令来设置 mail 属性。 对应的 ics.conf 参数: service.wcap.allowsetprefs.mail |
13 |
allowSetPrefLang |
如果设置(第 13 位 = 1),则不允许用户使用 WCAP set_userprefs 命令来设置 preferredLanguage 属性。 对应的 ics.conf 参数: service.wcap.allowsetprefs.preferredlanguage |
14 |
allowSetSn |
如果设置(第 14 位 = 1),则不允许用户使用 WCAP set_userprefs 命令来设置 surname (sn) 属性。 对应的 ics.conf 参数: service.wcap.allowsetprefs.sn |
15–31 |
当前发行版中未使用。 |
下表介绍了可以使用 csdomain 实用程序设置的 icsExtendedDomainPrefs 属性及其属性。每个属性都有一个对应的 ics.conf 参数。如果某个属性没有设置(值 = 0,service.virtualdomain.support = "no")或不存在,Calendar Server 将使用对应的 ics.conf 参数作为默认值。
表 D–16 icsExtendedDomainPrefs LDAP 目录属性
property 名 |
说明 |
---|---|
allowProxyLogin |
指定 yes(允许代理登录)或 no(不允许代理登录)。 对应的 ics.conf 参数: service.http.allowadminproxy(默认值 = no) |
calmasterAccessOverride |
指定 yes(允许 Calendar Server 管理员覆盖访问控制)或 no(不允许 Calendar Server 管理员覆盖访问控制)。 对应的 ics.conf 参数: service.admin.calmaster.overrides.accesscontrol(默认值 = "no") |
calmasterCred |
指定一个 ASCII 字符串,该字符串是指定为 Calendar Server 域管理员的用户 ID 的密码。 对应的 ics.conf 参数: service.admin.calmaster.cred(无默认值) |
calmasterUid |
指定一个 ASCII 字符串,该字符串是指定为 Calendar Server 域管理员的用户的用户 ID。 对应的 ics.conf 参数: service.admin.calmaster.userid(无默认值) |
createLowercase |
如果指定 yes,创建新日历或搜索日历时 Calendar Server 会将日历 ID (calid) 转换为小写;如果指定 no,则不进行转换。 对应的 ics.conf 参数: calstore.calendar.create.lowercase(默认值 = "no") |
domainAccess |
指定域的访问控制列表 (ACL)。有关 ACL 的信息,请参见访问控制列表 (ACL)。 此 ACL 用于交叉域搜索。有关更多信息,请参见交叉域搜索。 |
fbIncludeDefCal |
如果指定 "yes",则在用户的空闲/繁忙日历列表中包括用户的默认日历;如果指定 "no" 则不包括。 对应的 ics.conf 参数: calstore.freebusy.include.defaultcalendar(默认值 = yes) |
filterPrivateEvents |
如果指定 "yes",则 Calendar Server 过滤(识别)“私人”和“仅时间与日期(保密)”事件和任务。如果指定 "no",Calendar Server 将按照处理“公用”事件和任务的方式处理这些事件和任务。 对应的 ics.conf 参数: calstore.filterprivateevents(默认值 = yes) |
groupMaxSize |
指定展开事件时,一个 LDAP 组中允许的最大参与者数目。 对应的 ics.conf 参数: calstore.group.attendee.maxsize(默认值是 "0"—展开整个组) |
language |
指定域的语言。 对应的 ics.conf 参数: local.domain.language |
resourceDefaultAcl |
指定访问控制列表 (ACL),该列表是创建资源日历时使用的默认访问控制权限。 对应的 ics.conf 参数: resource.default.acl(默认值是 "@@o^a^r^g;@@o^c^wdeic^g; @^a^rsf^g") |
setPublicRead |
指定最初是将用户的默认日历设置为公用读/专用写 (yes) 还是专用读/专用写 (no)。 对应的 ics.conf 参数: service.wcap.login.calendar.publicread(默认值 = "no") |
searchFilter |
指定用于查找用户的搜索过滤器。 对应的 ics.conf 参数: local.userSearchFilter |
ssoCookieDomain |
指定浏览器只将 Cookie 发送到指定域中的服务器。值必须以句点 (.) 开始。例如:".sesta.com" 对应的 ics.conf 参数: sso.cookiedomain(默认值为当前域) |
ssoUserDomain |
指定作为用户 SSO 验证的一部分使用的域。 对应的 ics.conf 参数: sso.userdomain(无默认值) |
subIncludeDefCal |
如果指定 "yes",则用户的默认日历包含在用户订阅的日历列表中;如果指定 "no" 则不包含。 对应的 ics.conf 参数: calstore.subscribed.include.defaultcalendar(默认值 = "yes") |
uiAllowAnyone |
如果指定 "yes",用户界面将显示并使用“每人”存取控制表 (Access Control List, ACL);如果指定 "no" 则不显示和使用。 对应的 ics.conf 参数: ui.allow.anyone(默认值 = "yes") |
uiAllowDomain |
如果指定 "yes",则用户界面将显示并使用此域的存取控制表 (Access Control List, ACL);如果指定 "no" 则不显示和使用。 对应的 ics.conf 参数: ui.allow.domain(默认值 = "no") |
uiBaseUrl |
指定基本服务器地址的 URL。例如:"https://proxyserver" . 对应的 ics.conf 参数: ui.base.url(无默认值) |
uiConfigFile |
指定一个基于 xml 的可选配置文件,Calendar Server 启动时可以读取该文件,从而隐藏用户界面的某些部分。 对应的 ics.conf 参数: ui.config.file(无默认值) |
uiProxyURL |
指定要放在 HTML UI JavaScript 文件前面的代理服务器地址的 URL。例如:"https://web_portal.sesta.com/" 对应的 ics.conf 参数: ui.proxyaddress.url(无默认值) |
下表介绍了可以使用 csdomain 实用程序设置的其他 LDAP 属性及其属性。
表 D–17 可以使用 csdomain 实用程序设置的其他 LDAP 目录属性
使用 LDAP Schema 1 创建一个名为 west.sesta.com 的新托管域:
csdomain -v -n o=nodewest,o=sesta create west.sesta.com
使用 LDAP Schema 2 创建一个名为 east.sesta.com 的新托管域:
csdomain -v -n nodeeast create east.sesta.com
显示名为 west.sesta.com 的托管域的 Calendar Server LDAP 属性列表:
csdomain -v list west.sesta.com
将名为 west.sesta.com 的托管域的时区设置为 America/New_York:
csdomain -v -a timezone=America/New_York add west.sesta.com