WD1X.COM - 问答一下,轻松解决,电脑应用解决专家

您好,欢迎来问答一下![登录] [注册]


已解决问题数:10040
待解决问题数:17
今天,你遇到了什么技术难题?我要提问
页面导航:问答一下 > 电脑网络问答
  • 已解决

服务器不支持FSO权限 该怎么办????怎么解决????

解决时间 解决时间:2017/10/13 13:38   热度:1307
  • 满意答案
  • 满意回答
头像
WD1X专家团
回答于:2017/10/05 14:23

FSO(FileSystemObject)是微软ASP的一个对文件操作的控件,该控件可以对服务器进行读取、新建、修改、删除目录以及文件的操作。是ASP编程中非常有用的一个控件。但是因为权限控制的问题,很多网站空间服务器的FSO反而成为这台服务器的一个公开的后门,因为客户可以在自己的ASP网页里面直接就对该控件编程,从而控制该服务器甚至删除服务器上的文件。那么如何让客户在自己的网站空间中任意使用FSO却又没有办法危害系统或者妨碍其他客户网站的正常运行呢,我们只要对网站空间的不同用户设置相应的权限即可办到,前提是硬盘必须使用NTFS格式。 在服务器上打开资源管理器,用鼠标右键点击各个硬盘分区,选择“属性”->“安全”,这时我们可以看到对此盘的完全控制权限默认是“Everyone”。点击“添加”,将“Administrators”、“Backup Operators”、“PowerUsers”、“Users”等几个组添加进去,并给予“完全控制”或相应的权限,然后将“Everyone”组从列表中删除。注意,不要给“Guests”组、IUSR_机器名”这几个帐号任何权限,因为当 ASP 执行时,是以“IUSR_机器名”的权限访问硬盘的,这里没给该用户帐号权限,ASP 也就不能读写硬盘上的文件了。

下面要做的就是给每个网站空间用户设置一个单独的用户帐号,然后再给每个帐号分配一个允许其完全控制的目录。

我们以新建一个网站空间名为hello为例,对应的WEB目录文件名为:F:\WWW\HELLO为例。

打开“计算机管理”→“本地用户和组”→“用户”,然后添加一个新用户IUSR_HELLO,并对其他选项进行相应的设置(最好选择不允许用户修改密码)。新建的IUSR_HELLO默认为USER组,我们把他加为GUEST组中。打开“Internet信息服务”,设置IUSR_HELLO对应的网站空间。把IUSR_HELLO的主目录设置为F:\WWW\HELLO,并将IUSR_HELLO对应的WEB匿名使帐号设置为IUSR_HELLO。然后切换到F:\WWW\HELLO目录,对该目录设置访问权限,将ADMINISTRATOR和IUSR_HELLO设置为完全访问(当然可以根据不同要求加入其他的用户),删除一些没有必要的用户名,将最将下的“允许将来自父系的可继承权限传播给该对象”前面的对号去掉:经此设置后,“IUSR_HELLO”网站空间的用户,在使用 ASP 的 FileSystemObject 组件时只能访问自身的目录:F:\www\hello 下的内容。当试图访问其他内容时,会出现诸如“没有权限”、“硬盘未准备好”、“500 服务器内部错误”等出错提示了。

当然,我们也可以禁止FSO功能。

1、修改注册表,将FileSystemObject改成一个任意的名字,只有知道该名字的用户才可以创建该对象, [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0D43FE01-F093-11CF-8940-00A0C9054228}\ProgID]@="Scripting.FileSystemObject"

2、运行Regsvr32 scrrun.dll /u,所有用户无法创建FileSystemObject。

3、运行cacls%systemroot%\system32\scrrun.dll/dguests,匿名用户(包括IUSR_Machinename用户)无法使用FileSystemObject,我们可以对ASP文件或者脚本文件设置NTFS权限,通过验证的非Guests组用户可以使用FileSystemObject。

提问者对回答的评价:

谢谢您的解答!

支持  反对 

支持(0) 反对(0)
其他回答 (共0条)
关于我们 | 版权声明 | 网站导航 | Tag标签 |
Copyright © 2021-2022 WD1X.Com Inc All Rights Reserved.