csdomain 实用程序可管理域 LDAP 条目中的 Calendar Server 属性。这些属性是 icsCalendarDomain 对象类的一部分。命令包括:
create,用于在 LDAP 目录中创建新的域条目。
add,用于在域条目中添加 Calendar Server 属性及其关联值。
delete,用于删除域条目中的 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 添加结构树节点之前,必须已阅读 第 10 章,设置多域 Calendar Server 6.3 环境 中的说明。
必须在已安装 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 目录中创建新域。 |
add |
在域 LDAP 条目中添加 Calendar Server 属性及其关联值。如果使用 csdomain 添加或更新域属性,必须重新启动 Calendar Server 才能使新值生效。 |
delete |
从 LDAP 目录中删除某个特定域的 Calendar Server 属性,或删除整个域的所有 LDAP 条目。 |
list |
列出 LDAP 目录中某个特定域的 Calendar Server 属性。 |
version |
显示实用程序的版本。 |
下表介绍了 csdomain 实用程序命令选项。
表 D–14 csdomain 实用程序命令选项
选项 |
说明 |
---|---|
-v |
在详细模式下运行:显示正在执行的命令的所有可用信息。默认值为 off。 |
-q |
在静默模式下运行:
|
-a attr[=value] |
指定 LDAP 属性的 property 名及其可选值。 有关这些属性和 property 名的列表的信息,参见 D.9.3 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 才能使新值生效。
D.9.3 LDAP 属性和 property 名 介绍了可以使用 csdomain 实用程序设置的 icsAllowRights 属性及其 property。属性是一个 32 位的数字字符串,字符串中的每一位都对应于一种特定的用户权限。(在当前发行版中,一些位没有使用,默认情况下被设置为零。)如果设置了与某个权限对应的位(值 = 1),则不允许该权限。如果未设置该位(值 = 0),则允许该权限。
icsAllowRights 属性中的每个属性都有一个对应的 ics.conf 参数。如果某个属性没有设置(值 = 0)或不存在 (service.virtualdomain.support = "no"),Calendar Server 将使用对应的 ics.conf 参数作为默认值。
icsAllowRights 的值是数字字符串,而不是整数。要在按位进行的操作中以编程方式使用 icsAllowRights,必须首先将其字符串值转换为整数。
表 D–15 icsAllowRights LDAP 目录属性及其 Property
下表介绍了可以使用 csdomain 实用程序设置的 icsExtendedDomainPrefs 属性及其 property。每个属性都有一个对应的 ics.conf 参数。如果某个属性没有设置(例如,值 = 0 或 service.virtualdomain.support = "no")或不存在,则 Calendar Server 将使用对应的 ics.conf 参数作为默认值。
表 D–16 icsExtendedDomainPrefs LDAP 目录属性
property 名 |
说明 |
---|---|
allowProxyLogin |
指定 "yes"(允许代理登录)或 "no"(不允许代理登录)。 对应的 ics.conf 参数: service.http.allowadminproxy(默认值 = "yes") |
calmasterAccessOverride |
指定 "yes"(允许 Calendar Server 管理员覆盖访问控制)或 "no"(不允许 Calendar Server 管理员覆盖访问控制)。 对应的 ics.conf 参数: service.admin.calmaster.overrides.accesscontrol(默认值 = "no") |
calmasterCred |
指定一个 ASCII 字符串,该字符串是指定为 Calendar Server 域管理员的用户 ID 的密码。 对应的 ics.conf 参数: service.siteadmin.cred(无默认值) |
calmasterUid |
指定一个 ASCII 字符串,该字符串是指定为 Calendar Server 域管理员的用户的用户 ID。 对应的 ics.conf 参数: service.siteadmin.userid(无默认值) |
createLowercase |
如果指定 yes,创建新日历或搜索日历时 Calendar Server 会将日历 ID (calid) 转换为小写;如果指定 no,则不进行转换。 对应的 ics.conf 参数: calstore.calendar.create.lowercase(默认值 = "no") |
domainAccess |
指定域的访问控制列表 (ACL)。有关 ACL 的信息,参见 1.8.3 Calendar Server 版本 6.3 的访问控制列表 (Access Control List, ACL)。 此 ACL 用于交叉域搜索。有关详细信息,参见 11.2 在 Calendar Server 6.3 系统中执行交叉域搜索。 注意 – 仅允许单个 domainAccess 实例。但是,如果存在重复,系统并不会发出警告。只要更改值,必须确保只有一个实例。 |
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 属性及其 property。
表 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