Sun logo      上一个      目录      索引      下一个     

Sun ONE Calendar Server 6.0 管理员指南

第 2 章
管理 Calendar Server 用户和日历

本章介绍如何使用 Calendar Server 命令行实用程序来置备和管理用户和日历,包括用户日历和资源日历。

本章包括以下各节:

要置备和管理 Calendar Server 用户和日历,请使用以下命令行实用程序:

要运行命令行实用程序,必须以管理员用户身份登录正在运行 Calendar Server 的系统。有关详细信息,请参阅第 11 章“Calendar Server 命令行实用程序”


置备新的 Calendar Server 用户

本节提供有关置备新 Calendar Server 用户的以下信息:

对于目录服务器的要求

Calendar Server 要求必须在目录服务器中存储日历用户。然后,Calendar Server 使用该目录服务器进行用户验证以及存储和检索用户首选项。

Calendar Server 默认安装支持在 LDAP 目录(例如 Sun ONE Directory Server)中定义的用户。如果用户已存储在 LDAP 目录中,则只需将目录服务器升级至 Sun ONE Directory Server(它支持允许用户访问 Calendar Server 的模式扩展)。

有关安装和配置 Sun ONE Directory Server 的信息,请访问以下文档 Web 站点:

http://docs.sun.com/coll/S1_DirectoryServer_52

您也可以手动修改目录模式以允许用户访问 Calendar Server 数据。有关信息,请参阅《Sun ONE Calendar Server 6.0 安装指南(适用于 Solaris 操作系统)》

Calendar Server 用户所需的 LDAP mail 属性

Calendar Server 6.0(和更高版本)要求用户的用户日历和资源(例如,会议室或诸如笔记本电脑或顶置光源投影仪之类的设备)日历均需具有 LDAP mail 属性。每个资源日历必须具有一个电子邮件地址,即使实际上不会使用到它。

某些情况下可能需要添加 LDAP mail 属性,如下所示:

现有的 5.x 安装。在运行 cs5migrate 迁移实用程序之前,为用户的用户日历和资源日历添加 mail 属性。要添加 mail 属性,请使用 Calendar Server 的 csattribute 实用程序或其他实用程序,例如 Directory Server 的 ldapmodify 实用程序。

新的 6.0 安装。使用 Calendar Server 的 csattribute 实用程序或其他实用程序(例如 Directory Server 的 ldapmodify 实用程序)为现有用户的用户日历和资源日历置备 LDAP mail 属性。

如果要在安装后创建新的日历或用户,请在运行以下 Calendar Server 实用程序时使用必需的 -m email 选项指定一个电子邮件地址:

有关 cs5migrate 迁移实用程序的信息,请参阅《Sun ONE Calendar Server 6.0 安装指南(适用于 Solaris 操作系统)》

有关 ldapmodify 实用程序的信息,请参阅《Sun ONE Directory Server Resource Kit Tools Reference》,可从以下 Web 站点找到该文档:

http://docs.sun.com/coll/S1_DirectoryServer_52

 

示例:在资源日历中添加 LDAP mail 属性

以下示例为位于 sesta.com 服务器上名为“Room100”的会议室添加 LDAP mail 属性。本例中使用的是 Sun ONE Messaging Server。如果使用其他电子邮件服务器,请参阅相应的产品文档,了解相应的操作步骤。

  1. 使用 csattribute 实用程序为 LDAP 服务器添加 mail 属性:
  2. # ./csattribute -a mail=Room100@sesta.com add Room100

  3. 要检测是否已设置了该属性,请使用带有 -v(冗余)选项的 csattribute list 命令:
  4. # ./csattribute -v list Room100

    ...

    cn=Room 100,ou=conferenceRooms,dc=sesta,dc=com has mail:Room100@sesta.com

示例:为资源电子邮件设置 bitbucket 通道

以下示例将为资源日历所生成的电子邮件设置 bitbucket 通道或等价机制,前者针对 Sun ONE Messaging Server,后者针对 Sendmail。这些示例使用了位于 sesta.com 服务器上名为“Room100”的资源。如果不设置 bitbucket 通道(或等价机制),则需要定期删除发送至资源日历的电子邮件。

如果使用 Sun ONE Messaging Server,请执行以下操作:

  1. 确保在 imta.cnf 文件中定义了 bitbucket 通道。
  2. 要将电子邮件导向 bitbucket 通道,请使用以下 csresource 实用程序为该资源创建电子邮件地址:
  3. # ./csattribute -a mail=Room100@bitbucket.sesta.com add Room100

如果使用 Sendmail,请执行以下操作:

  1. 在相应主机上的 /etc/aliases 文件中添加如下条目:
  2. # Resource/Conference room aliases
    Room100:/dev/null

  3. 使用 csresource 实用程序将资源的电子邮件地址添加到 LDAP 目录中:
  4. # ./csattribute -a mail=Room100@sesta.com add Room100

 


要启用这些更改,可能还需要重新生成别名表或别名配置。请参阅 Sun ONE Messaging Server(或您的电子邮件产品)的文档,以及您站点上关于更改邮件服务的文档和操作。Sun ONE Messaging Server 可从以下 Web 站点获得:

http://docs.sun.com/coll/S1_MsgServer_60


电子邮件别名(mailalternateaddress 属性)

如果需要为日历用户设置电子邮件别名,请使用 LDAP mailalternateaddress 属性。LDAP mail 属性提供了主要邮件地址,而 LDAP mailalternateaddress 属性提供了电子邮件别名。这两个属性都将邮件地址映射到用户的日历 ID (calid)。

例如,要为具有以下设置的用户 John Smith 添加 mailalternateaddress 属性:

请使用以下 Calendar Server 实用程序命令:

# ./csuser -g John -s Smith -y password -l en -m john.smith@sesta.com -c johnsmith create johnsmith
# ./csattribute -a mailalternateaddress=johns@sesta.com add johnsmith
# ./csattribute -a mailalternateaddress=jsmith@sesta.com add johnsmith

 

日历标识符 (calid)

Calendar Server 数据库中的每个日历都由一个唯一的日历标识符 (ID) 或 calid 标识。calid 的格式为:

userid[@domain][:calendar-name]

其中:

userid 为用户 ID。

domain 为用户的可选域名。默认值为由 service.defaultdomain 参数指定的值。

calendar-name 为可选的日历名称

日历 ID 区分大小写。例如,JSMITHjsmith 并不相同。(这与电子邮件地址不同,电子邮件地址是不区分大小写的。例如,jsmith@sesta.com 等同于 JSMITH@SESTA.COM。)

日历 ID 不能包含空格并且只能使用以下字符:

日历 ID 的示例:jsmithjsmith@calendar.sesta.com:new-caljsmith:private_calendar

因为用户 ID 是 calid 的一部分,所以用户 ID 不能包含空格(例如,不应为 j smith)。尽管用户 ID 中包含空格的用户可以登录 Calendar Server,但空格随后会引发某些问题。

日历查找数据库 (CLD) 插件

如果日历数据库分布在多个后端服务器上,Calendar Server 将使用插件来决定存储日历的具体服务器。Calendar Server 使用数据库有线协议 (DWP) 来访问后端服务器上的日历数据。DWP 是一个内部协议,作为 csdwpd 服务运行,为日历数据库提供网络连接功能。

Calendar Server 装入何种插件取决于 ics.conf 文件中的 caldb.cld.type 参数的值:

检查是否为用户启用了日历操作功能

要确定您的目录服务器中是否存在某个特定用户以及该用户是否可以访问 Calendar Server 数据,请使用 csuser 实用程序的 check 命令。

例如,可使用以下命令检查是否为 JSmith 启用了日历操作功能,:

csuser check JSmith

如果 check 命令显示 LDAP 目录服务器中不存在该用户,则必须为该用户创建目录服务器条目。

置备新用户

csuser 实用程序可以在 LDAP 目录服务器中创建条目并为该用户启用日历操作功能。也可以使用 Sun ONE Directory Server 实用程序,例如 ldapsearchldapmodify。有关这两个实用程序的信息,请参阅以下 Web 站点上的 Sun ONE Directory Server 文档:

http://docs.sun.com/coll/S1_DirectoryServer_52

如果 LDAP 目录中存在该用户,则可以手动或自动为该用户创建新日历:

如果一个用户向另一个未启用日历操作功能的用户(即,该用户没有默认日历)发送请求,Calendar Server 将为发送请求的用户返回错误信息“未找到日历”。

创建新日历

要创建新日历,请使用 cscal 实用程序的 create 命令。目录服务器中必须已经存在该用户(用户 ID)。

如果您的站点正在使用 LDAP 日历查找数据库 (CLD) 插件,则必须在用户的日历所驻留(或将要驻留)的同一后端服务器上创建新日历,正如用户的 icsDWPHost LDAP 属性所说明的那样。如果试图在不同的后端服务器上创建日历,cscal 实用程序将返回一条错误信息。有关 LDAP CLD 插件的信息,请参阅配置 LDAP 日历查找数据库 (CLD) 插件

例如,可使用以下命令创建日历 ID (calid) 为 JSmith 的新日历:

cscal -o JSmith -n JohnSmithCalendar create JSmith

其中:

要创建属主为 JSmith,可见名称为 Hobbies 并且使用默认访问控制设置进行组计划的日历,请使用以下命令:

cscal -n Hobbies -o JSmith create Personal

其中:

以下示例将创建与上一个实例类似的新日历,但它还与名为 sports 的类别关联,同时还启用了双重预定,并指定 RJones 作为另一个属主:

cscal -n Hobbies -o JSmith -g sports -k yes -y RJones create Personal

其中:

以下示例创建了与上一个示例类似的日历,但它还为组计划设置了的特定的访问控制设置:

cscal -n Hobbies -o JSmith -a "@@o^a^sfr^g" create Personal

其中,-a "@@o^a^sfr^g" 为其他属主授予对该日历的组计划组件和日历特性进行预定、空闲/繁忙和读取访问权限,。


管理 Calendar Server 用户

置备用户后,请使用 csuser 实用程序执行以下管理任务:

显示用户信息

要列出所有日历用户或显示特定用户的日历属性,请使用 csuser 实用程序的 list 命令。

例如,可使用以下命令显示已启用日历操作功能的所有用户:

csuser list

要显示单个用户(例如 JSmith)的所有日历属性,请使用以下命令:

csuser -v list JSmith

禁用和启用用户

要禁止用户登录 Calendar Server,请使用 csuser 实用程序的 disable 命令。disable 命令将禁止用户访问日历数据,但它并不从目录服务器或 Calendar Server 数据库中删除用户信息。

例如,可使用以下命令禁止 JSmith 访问 Calendar Server:

csuser disable JSmith

此命令将阻止 JSmith 登录 Calendar Server 以访问日历数据,但并没有将 JSmith 的数据从日历数据库中删除。但是,如果 JSmith 当前已经登录 Calendar Server,他将一直拥有对日历数据的访问权,直到注销。

要允许用户访问 Calendar Server,并可选地指定特定的配置设置,例如默认日历,请使用 csuser 实用程序的 enable 命令。

例如,可使用以下命令允许 JSmith 访问(登录)Calendar Server 并为 JSmith 指定默认日历:

csuser jsmith enable JSmith

删除用户

要删除 Calendar Server 用户,请使用 csuser 实用程序的 delete 命令。


注意

csuser 实用程序的 delete 命令将从 LDAP 服务器中删除用户的所有 Calendar Server 信息。如果已经对日历数据库进行了备份,则可以恢复 Calendar Server 数据库信息。有关详细信息,请参阅第 6 章“备份和恢复 Calendar Server 数据”

但只有专门备份了日历数据库时,才能恢复 LDAP 服务器信息。


例如,可以使用以下命令从 Calendar Server 中删除 JSmith:

csuser delete JSmith

重置用户的属性

要恢复特定用户的所有日历 LDAP 属性的默认设置,请使用 csuser 实用程序的 reset 命令。

例如,可以使用以下命令将 JSmith 的所有日历属性重置为默认配置设置:

csuser reset JSmith


重置日历用户后,所有日历属性都将从用户的 LDAP 条目中删除,包括 icsCalendarUser(对象类)、icsSubscribedicsCalendarOwnedicsCalendaricsDWPHost(如果 LDAP CLD 设置中具有这些属性)。Calendar Server 管理员将不能以该用户的名义创建日历。

以下情况将恢复用户的 LDAP 条目中的这些属性:

  • 用户再次登录 Calendar Server,或
  • Calendar Server 管理员对用户执行了 csuser enable 命令(但这种情况下不会恢复 icsDWPHost 属性)。


管理用户日历

创建用户日历后,请使用 cscal 实用程序执行以下管理任务:

显示日历

要显示所有日历、某个用户拥有的所有日历或特定日历的特性,请使用 cscal 实用程序的 list 命令。

例如,可使用以下命令列出日历数据库中的所有日历:

cscal list

可使用以下命令列出 JSmith 拥有的所有日历:

cscal -o JSmith list

可使用以下命令列出日历 ID 为 JSmith:meetings 的日历的所有特性:

cscal -v list JSmith:meetings

删除日历

最终用户可以使用 Calendar Express 取消订阅日历,但不能从 Calendar Server 数据库中删除日历,删除日历的操作只能由对系统拥有管理权限的管理员完成。

要从 Calendar Server 中删除删除一个或多个日历,请使用 cscal 实用程序的 delete 命令。此实用程序将删除日历,但并不会从目录服务器中删除用户。


注意

delete 命令将从日历数据库中删除所有日历信息,并且不能撤消。删除日历后,只有在已经对日历数据进行了备份的情况下才能恢复它。有关详细信息,请参阅第 6 章“备份和恢复 Calendar Server 数据”


可以使用 cscal 实用程序删除一个或多个日历。

例如,可使用以下命令删除日历 ID 为 JSmith:meetings 的特定日历:

cscal delete JSmith:meetings

可使用以下命令删除原始属主为 JSmith 的所有日历:

cscal -o JSmith delete

禁用和启用日历

要禁止用户访问日历,请使用 cscal 实用程序的 disable 命令。disable 命令将禁止用户访问日历,但并不会从日历数据库中删除信息。

例如,可使用以下命令禁止用户访问 JSmith:meetings

cscal disable JSmith:meetings

要启用日历以允许用户访问,请使用 cscal 实用程序的 enable 命令。例如,可使用以下命令使用默认配置设置启用日历 JSmith:meetings

cscal enable JSmith:meetings

可使用以下命令启用日历 JSmith:meetings 但不允许双重预定:

cscal -k no enable JSmith:meetings

修改日历特性

要修改日历特性,请使用 cscal 实用程序的 modify 命令。

例如,可使用以下命令更改 AllAdmins 的组计划访问控制设置,并指定 RJones 作为另一个属主:

cscal -a "@@o^c^wd^g" -y RJones AllAdmins

其中:

从日历中删除特性

要从日历中删除特性值,请使用 cscal 实用程序的 modify 命令,并用两个双引号 ("") 指定选项的值。

例如,可使用以下命令从 JSmith:meetings 中删除说明:

cscal -d "" modify JSmith:meetings

可使用以下命令从 JSmith:meetings 中删除所有类别:

cscal -g "" modify JSmith:meetings

可使用以下命令从 JSmith:meetings 中删除“其他属主”:

cscal -y "" modify JSmith:meetings

恢复“丢失的”日历

如果用户的默认日历未出现在 Calendar Express 的“视图”或“日历”选项卡上,但仍在数据库中,则可以通过更新用户 LDAP 条目中的以下属性来恢复该日历:

其中,default_calid 为用户的默认日历 ID (calid)。


创建和管理资源日历

一个资源日历与一个资源(例如会议室)或设备(例如笔记本电脑或顶置光源投影仪)相关联。

要创建和管理资源日历,请使用 csresource 实用程序。要运行 csresource,必须以管理员用户身份登录正在运行 Calendar Server 的系统。

本节介绍如何创建和管理资源日历,包含以下内容:

设置资源日历配置参数

表 2-1 列出了 ics.conf 文件中的资源日历配置参数。

表 2-1  ics.conf 文件中的资源日历配置参数 

参数

说明

resource.default.acl

此参数决定创建资源日历时使用的默认访问控制权限。默认权限由以下访问控制列表 (ACL) 指定:

"@@o^a^r^g;@@o^c^wdeic^g;@^a^rsf^g"

此 ACL 将授予所有日历用户读取、调度和空闲/繁忙访问该日历(包括组件和特性)的权限。

要更改资源的权限,请在使用 csresource 实用程序的 create 命令创建日历时使用 -a 选项。

resource.allow.doublebook

此参数决定资源日历是否允许双重预定。双重预定功能允许为资源日历的同一时段预定一个以上的事件。

默认值为“no”,即不允许双重预定。

要允许资源日历的双重预定功能,请在使用 csresource 实用程序的 create 命令时使用 -k 选项。

表 2-1 中显示的默认值将应用于新创建的资源日历,但您可以通过编辑 ics.conf 文件来更改这些默认值。有关详细信息,请参阅编辑 ics.conf 配置文件

创建资源日历

Calendar Server 不能自动创建资源日历,因此必须使用 csresource 实用程序的 create 命令手动创建您的站点需要的每个资源日历。此命令将在 LDAP 目录服务器和日历数据库中为每个新日历创建一个条目。创建日历时需注意以下事项:

例如,可使用以下命令创建日历 ID 为 aud100,可见名称为 Auditorium(LDAP cn 属性)且具有表 2-1 所示的默认设置的资源日历:

csresource -c aud100 create Auditorium

以下命令与上一个命令执行相同的操作,但 -k 选项允许对日历进行双重预定,-o 选项指定 bkamdar 作为日历的属主,而 -y 选项指定 jsmith 作为另一个属主:

csresource -c aud100 -k yes -o bkamdar -y jsmith create Auditorium

如果不为资源日历指定属主,其值将由 ics.conf 文件中的 service.admin.calmaster.userid 参数指定。

显示资源日历及其属性

要显示资源日历,请使用 csresource 实用程序的 list 命令。

例如,可使用以下命令显示所有 Calendar Server 资源日历及其对应的 LDAP 属性的列表:

csresource list

可使用以下命令显示名为 Auditorium 的特定资源日历的所有 LDAP 属性的列表:

csresource -v list Auditorium

修改资源日历

要修改资源日历,请使用 cscal 实用程序的 modify 命令(csresource 实用程序没有 modify 命令)。

例如,可使用以下命令为名为 Auditorium 的资源日历设置一个名为 tchang 的属主并为其添加另一个名为 mwong 的属主:

cscal -o tchang -y mwong modify aud100

在本例中,cscal 实用程序需要 calid (aud100),而不是日历名称 (Auditorium)。

禁用和启用资源日历

您可能希望禁用资源日历,以防止用户预定事件。例如,会议室可能因为装修而无法使用,或顶置光源投影仪已送修。

要禁用或启用资源日历,请使用 csresource 实用程序的 enabledisable 命令。

例如,可使用以下命令禁用名为 Auditorium 的资源日历:

csresource disable Auditorium

然后,可使用以下命令启用资源日历:

csresource enable Auditorium

删除资源日历

要删除资源日历,请使用 csresource 实用程序的 delete 命令。

例如,可使用以下命令删除名为 Auditorium 的资源日历:

csresource delete Auditorium

Calendar Server 将显示以下消息:

是否确实要删除此资源 (y/n)?

输入“y”删除日历或输入“n”取消操作。

如果输入“y”,Calendar Server 将删除日历并显示一条表明日历已被删除的消息。


创建日历链接

可以创建一个或多个用户日历或资源日历的链接,只要每个日历设置了允许读取访问的权限。例如,可以在 Web 页或电子邮件中嵌入日历链接。然后,其他用户就可以匿名查看该日历而无需登录 Calendar Server。

可使用以下语法创建一个或多个用户日历的链接:

http://hostname:port/[command.shtml]?calid=calid-1;calid-2; ... ;calid-n&view=viewname

请使用半角分号 (;) 分隔每个日历 ID (calid)。

viewname 可以是 overviewdayviewweekviewmonthview。(view 也可以为 yearview,但没有上述几个视图有用。)

注意:如果只链接一个日历且不使用 view 选项(或其他选项),请忽略 command.shtml。

例如,要链接 jsmith 的默认日历,请输入:

http://calendar.sesta.com:8080/?calid=jsmith

要链接 calidoverhead_projector10 的顶置光源投影仪的资源日历,请输入:

http://calendar.sesta.com:8080/?calid=overhead_projector10

但要链接 jsmithtchang 的默认日历,并以日视图显示日历,则请输入:

http://calendar.sesta.com:8080/command.shtml?calid=jsmith;tchang&view=dayview



上一个      目录      索引      下一个     


版权所有 2003 Sun Microsystems, Inc.。保留所有权利。