IIS网站,权限不容小视

网络通信

  编者按:Windows系统的IIS服务器操作简单、易于上手,常用来架设单位或公司的网站。虽然我们可以很轻易地完成IIS网站的配置,但用户访问这些网站时,却经常发生“用户无法访问,权限不足”的问题。遇到这些问题,网站管理员通常会把注意力集中到IIS服务器身上,却忽视了另一个非常重要的问题,这就是Windows的文件访问权限是否设置合理。

  权限为何重要

  谈到IIS网站,为何又牵涉到文件的访问控制权限呢?其实道理很简单,为了增强IIS网站的安全性,Windows系统通常会采用NTFS文件格式,这样一来,存储在硬盘分区目录中的网站文件,就会受到ACL(访问控制列表)功能的限制,必须赋予IIS网站访问用户相应的权限,才能正常浏览网站网页文档或访问数据库文件。

  合理地设置文件访问权限

  下面以笔者的IIS5.1网站为例,介绍如何为网站中的文件设置访问权限。笔者IIS网站的主目录位于“E:\inetpub\ cpcw\”下。下面就要为该目录下的所有文件设置访问权限。IIS网站文件一般分两种:一种是网页文档文件,如后缀为.asp、.html、.php等网页文档,网站访问用户只要对这些文件有读取、运行权限即可;另一种是数据库文件,它的内容是不断变化的,如后缀为.mdb、.txt等文件,这就需要访问用户还要有修改或写入的权限。

  由于所有的网站文件都受到ACL(访问控制列表)的限制,必须给访问用户赋予合理的权限,才能正常访问网站内容,否则就会出现权限不足的错误提示。

  1.网页文档权限设置

  对网页文档文件的权限设置非常简单,只要赋予访问用户“读取和运行、列出文件夹目录、读取”权限即可。默认情况下,IIS网站使用的是匿名访问方式,用户要使用“IUSR_机器名”账号来访问网站的内容,而且IIS网站要求用“身份验证”访问方式,这时用户必须拥有合法的账号,才能访问网站。为了让权限设置全面照顾到这两种访问方式,不能对“IUSR_机器名”账号进行设置,这时就要用到“Everyone”账号。

  在资源管理器中,右键点击“E:\inetpub”中的“cpcw”目录,选择“属性”,接着切换到“安全”标签页(图1),然后点击“添加”按钮,将“Everyone”用户添加到列表中,在下面的权限列表框中赋予它“读取和运行、列出文件夹目录、读取”权限,最后点击“确定”按钮。

  提示:对于网页文档文件,不要赋予“Everyone”用户过多的权限,特别是修改、写入等权限,否则会给IIS网站留下安全隐患。

  2.数据库文件权限设置

  数据库文件的权限设置和一般的网页文档稍有不同,除了需要读取和运行、列出文件夹目录、读取权限外,还需要写入和修改权限,因为文件中的内容不断被修改。否则也会出现用户无法正常访问网站的问题。

  笔者以名为“cpcw.mdb”的ACCESS数据库文件为例,右键点击该文件,选择“属性”,切换到“安全”标签页(图2)。在“组或用户名称”列表中选中“Everyone”用户,然后在下面的权限列表中再选中“修改、写入”权限,最后点击“确定”。其它格式的数据库文件设置方法相同。

  提示:如果你的IIS网站中还存在虚拟目录,它的两种文件的权限设置方法同上面一样,就不再赘述了。