在 Sun WebServer 1.0 中, realm
指令除作为浏览器的标识符(印在鉴别对话框中)外,没有什么重要性。在 Sun WebServer 2.0 中,领域指定了一组预先存在的用户和组用来鉴别对一个 URL 的访问。领域信息存储在 realms.conf 文件中。HTPASSWD
领域也有与它们相关联的一个目录(在 realm.conf 中定义),含有将用于鉴别的“用户”和“组”文件。 Sun WebServer 1.0 ACL 中的 password_file
和 group_file
指令因此已经作废。所有 1.0 领域在 2. 0 中将为 HTPASSWD
领域,因为这些由用户创建的数据库是 1.0 中唯一可用的源。
假定在 /etc/http/access.acl 中有下列 Sun WebServer 1.0 访问控制用于主机 widgets:
url /reports { realm Managers authentication_type basic password_file /usr/auth/Managers/Maners_users group_file /usr/auth/Managers/Managers_groups + group report_managers - user Joe } |
创建一个领域以容纳口令和组文件。这可以通过下列步骤完成:
# htrealm add -i server1 -h widgets -r Managers -s HTPASSWD |
此命令将为站点 widgets 向 realms.conf 添加下列条目:
realm Managers { realm_source HTPASSWD } |
它还在站点 widgets 创建下列目录:
/var/http/server1/websites/widgets/conf/realms/Managers/ |
将用户和组文件复制到 Managers 目录:
# cp /usr/auth/Managers/Managers_users \ /var/http/server1/websites/widgets/conf/realms/Managers/users # cp /usr/auth/Managers/Managers_groups \ /var/http/server1/websites/widgets/conf/realms/Managers/groups |
从 Sun WebServer 1.0 ACL 中去除文件指令,并将新的 ACL 放置在 Sun WebServer 2.0 ACL 文件中:/var/http/server1/websites/widgets/conf/access.conf:
url /reports { realm Managers authentication_type basic + group report_managers - user Joe } |