IUSR 和 IWAM 帐户密码同步 和 对文件的访问被拒绝

IUSR 和 IWAM 帐户密码同步 和 对文件的访问被拒绝
最近在做一个C#的Webservice,当我调试中心服务器的接口时出现了问题,web服务的接口一运行中心服务器就报异常:对**文件的访问被拒绝。 我当时以为是IIS文件夹没有给ASP.NET用户添加可修改的权限,奇怪的是当我添加了ASP.NET用户权限后依然报错,即使ASP.NET用户拥有 最高权限依然如是。

于是我设置了IIS的匿名用户为其它用户后,并修改了原来的IUSER_WY用户的密码,服务器居然不能连接,晕死,后 来一咨询一高手同事时才知道,匿名用户的密码一旦修改,就很难要回来,因为这个用户的密码是由系统管理的,而调试的时候是始用默认密码的,你是不能修改原 密码的,系统每次是通过原密码访问,而密码改动后,服务器当然就连接不上了。

解决办法就是必须确保上述三个位置的 IUSR 和 IWAM 帐户密码是同步的。

同步方式有两种:

在用户管理器 (Windows NT) 或用户和组 (Windows 2000) 中设置 IWAM 和 IUSR 帐户的密码,在 IIS 配置数据库中更改密码,由此而使用相同的密码。

或者,在 IIS 配置数据库中设置密码,在用户管理器 (Windows NT) 或用户和组 (Windows 2000) 中更改密码。

这其中要使用到一个脚本文件:Adsutil.vbs。

下面给出其中一个解决方法:

1. 在"命令"窗口中,找到 Adsutil.vbs 文件所在的文件夹。使用 Adsutil.vbs 工具从 IIS 配置数据库获得 IWAM 和 IUSR 帐户的密码。

2. 若要在 Windows NT 中更改 IUSR 和/或 IWAM 密码,请按照下列步骤操作:

a. 在开始菜单上,依次指向程序、管理工具,然后单击域用户管理器。在"域用户管理器"中,可以更改所有 Windows NT 用户帐户和组的帐户信息。

b. 双击 IUSR_ 计算机名 和/或 IWAM_ 计算机名 用户,然后修改密码,使它们与第 1 步获得的 IIS 配置数据库密码一致。

若要在 Windows 2000 中更改 IUSR 和/或 IWAM 密码,请按照下列步骤操作:

c. 在开始菜单上,依次指向程序、管理工具,然后单击计算机管理。

d. 在系统工具节点下面,单击展开"本地用户和组"和"用户"节点。在"用户"节点中,

可以更改所有 Windows 2000 用户帐户和组的帐户信息。

e. 右键单击 IUSR_ 计算机名和/或 IWAM_ 计算机名帐户,然后单击设置密码。

f. 修改密码,使它们与第 1 步获得的 IIS 配置数据库密码一致。

3. 浏览返回错误信息的 ASP 页,检查问题是否已解决。

如何使用 Adsutil.vbs

IIS  提供了名为 Adsutil.vbs 的脚本文件,用于获取或设置 IIS 配置数据库中的 IUSR 和 IWAM 帐户密码。在   Windows NT 4.0 中,Adsutil.vbs 通常位于 < 驱动器 >\WINNT\System32\Inetsrv\ Adminsamples 文件夹。在 Windows 2000,Adsutil.vbs 位于 < 驱动器 >\Inetpub\ Adminscripts 文件夹。

下表列出 Adsutil.vbs 实用工具各种功能的语法:

功能
语法

获取 IUSR 帐户密码
cscript.exe adsutil.vbs get w3svc/anonymoususerpass

获取 IWAM 帐户密码
cscript.exe adsutil.vbs get w3svc/wamuserpass

设置 IUSR 帐户密码
cscript.exe adsutil.vbs set w3svc/anonymoususerpass "password"

设置 IWAM 帐户密码
cscript.exe adsutil.vbs set w3svc/wamuserpass "password"

备注:

     在 Windows NT 4.0 中尝试获取密码时,密码显示为明文;但在 Windows 2000

中,密码显示为星号。若要在 Windows 2000 中也让密码显示为明文,必须修改 Ads

util.vbs,使它显示明码。为此,请按照下列步骤操作:

1. 在记事本中打开 Adsutil.vbs。

2. 在"编辑"菜单上,单击查找,键入 IsSecureProperty = True,然后单击查找下一个。

3. 将"IsSecureProperty = True"更改为"IsSecureProperty = False"。

4. 保存对 Adsutil.vbs 所做的更改,然后关闭记事本。

后 来访问被拒绝的问题也解决了,原来我这个接口是要写入到本地文件夹下的一个文件的。如果要可写入的话必须给用户以修改的权限,我当时只是设置了 ASP.NET用户的权限,结果忘了这个文件配置里还有个角色,那就是EveryOne,当我把EveryOne赋予可以修改的权限,接口就可以正常运行 了!


你可能感兴趣的:(数据库,windows,服务器,更改密码)