对IIS服务器,通过配置功能权限可以设置访问策略,访问策略指定 IIS 中 Web 服务器、站点、应用程序、目录或文件级别的所有处理程序可以具有的权限类型。 可以在访问策略中启用或禁用的功能权限包括读取、脚本和执行。 处理程序能否运行由访问策略以及处理程序所需的访问设置共同决定。
如果处理程序需要未在访问策略中启用的功能权限类型,该处理程序将被禁用,并且该处理程序处理的所有请求(根据处理程序映射)都将失败,除非请求可以由另一个处理程序处理。在IIS 5及IIS 6中,我们可以通过配置网站的属性来对网站的权限级别设置成以下几种情况:读取、写入、脚本资源访问、目录浏览、记录访问、纯脚本、脚本和可执行文件等。这几种权限的具体情况如下:
读取:用户可以查看文件内容和属性。
写入:用户可以更改文件内容和属性。
脚本资源访问:用户可以访问文件的源代码,如 Active Server Pages (ASP) 应用程序中脚本资源访问的脚本。仅当指派了“读取”或“写入”权限时,才能使用此选项。用户可以访问源文件。如果 指派了“读取”权限,则可以读取源代码。如果指派了“写入”权限,则也可以对源代码进行写入。
目录浏览:用户可以查看文件列表和集合。
记录访问:为每次网站访问创建一个日志项目。 记录访问 索引资源 允许索引服务索引该资源。
纯脚本: 纯脚本将应用程序的权限设置为“纯脚本”可以使映射到脚本引擎的应用程序在此目录中运行, 而无需拥有为可执行文件设置的权限。 将权限设置为“纯脚本”比将它们设置为“脚本和 可执行文件”更安全,这是由于您可以限制能够在该目录中运行的应用程序。
脚本和可执行文件:将应用程序的权限设置为“脚本和可执行文件”以允许应用程序在此 脚本和可执行文件目录中运行,其中包括映射到脚本引擎的应用程序和 Windows 二进制文件(.dll 和 .exe 文件)。
但在IIS 7中,我们发现,我们已经找不到相应的选项了,事实上它并未消失,配置方法如下:
1、打开 IIS 管理器,然后导航至您要管理的级别;
2、在“功能视图”的“server主页”、“site 主页”或“application 主页”页上,双击“处理程序映射”;
3、在“操作”页上,单击“编辑功能权限”;
4、在“编辑功能权限”对话框中,执行以下操作:
选中“读取”可启用需要对虚拟目录具有读取访问权限的处理程序,清除“读取”可禁用需要对虚拟目录具有读取访问权限的处理程序。
选中“脚本”可启用需要对虚拟目录具有脚本权限的处理程序,清除“脚本”可禁用需要对虚拟目录具有脚本权限的处理程序。
选中“执行”可启用需要对虚拟目录具有执行权限的处理程序,清除“执行”可禁用需要对虚拟目录具有执行权限的处理程序。 只有当“脚本”处于选中状态时,“执行”选项才启用。
5、单击确定
另外,我们也可以通过命令行的方式来进行权限的配置,语法如下:
appcmd set config /section:handlers /accessPolicy: NoRemoteScript|NoRemoteExecute|NoRemoteRead|NoRemoteWrite|Script|Source|Execute|Write|Read|None
我们可以为 accessPolicy 属性指定其中的一个或多个选项,或者指定 None。 如果指定多个值,请用逗号 (,) 分隔各个值。 例如,若要启用需要 Read 或 Script 权限的处理程序,请在命令提示符处键入如下命令,然后按 Enter:
appcmd set config /section:handlers /accessPolicy:Read,Script