第二节 目录安全性的设置
一、本文概述
oHTTPd有相当完备地进行目录安全性设置的功能。它可以将指定的浏览目录设为禁止所有用户使用;为不同的用户赋予不同的访问权限;仅禁止或仅允许某个目录或某些目录进行目录浏览等。
二、本文范例
虚拟主机名为“ccc”,其主目录(即根目录)在“D:\MyWeb”下,现欲对虚拟目录“/email”加以保护,只允许“Test-01”用户根据密码对它拥有只读权;允许“Test-02”用户对它拥有完全控制权。
三、设置过程
1、打开主设置窗口:进入管理器,选菜单“Admin→properties”。如下图:

2、打开虚拟主机“ccc”的属性设置窗口:选中“ccc”,再按“Edit”(编辑);也可直接双击“ccc”来打开它。
3、选择安全类型:选“Security”(安全)选项, 再选中“User and
Directory”(用户和目录)。它可以为不同的用户设置不同的权限,如果不选它,后面的几项设置均无法使用。如下图:

4、新建用户:选“Users and Groups”(用户和组)选项,其中,
⑴有一个默认“Realm”(领域)为“Web Server”,一般不用再修改;如需要,也可用“New
Realm”(新建领域)来新建一个领域,或用“Delete Realm”(删除领域)来删除一个领域。本例不对此项进行修改。
⑵在“Web Server”领域中新建“Test-01”用户:选“New
User”,然后输入“Username”(用户名)、“Password”(密码)和“Comment”(说明)。注意:均区分大小写!!!

⑶再用同样的方法建立好“Test-02”用户。结果如下图所示:

5、设置目录属性:选“Access Control List”(控制列表)选项,其中,
⑴将“/email”加入控制列表中:按“New”(新建),在“Path to
protect”(受保护的路径)中输入虚拟目录名所在的路径“/email”;然后在“Realm of protection”(保护领域)输入“Web
Server”(即上图中的默认领域名)。如下图:

⑵打开“/email”的目录属性窗口:选中“/email”,再按“Properties”(属性);或双击“/email”。
⑶为用户“Test-01”分配目录权限:进入“User
Permissions”(用户许可)选项,先选中列表中的“*”(允许所有用户享有默认的“Get”和“Post”权限),按“Remove”将它删除;再按“New”(新建),在“Name”中输入“Test-01”,在“Access
Mask”下只选中“Allow Read Access”(只读)。如下图:

⑷为用户“Test-01”分配目录权限:方法同上,只是需要选中“Access Mask”下的所有项目。建立好后的效果图如下所示:

四、效果测试
1、在浏览器中进入虚拟主机“ccc”的其他任何目录均可以直接进入;
2、但当试图打开“/email”或其下的任何一个目录或目录中的文件时,均会有密码提示窗口出现,输入相应用户名密码后方能进入(注意大小写),而不同的用户“Test-01”和“Test-02”进入之后会拥有不同的权限。如下图:

|