概述
 
在早期的IIS版本中,随着IIS的安装,系统会创建一个IUSR_MachineName用户。IIS启用匿名访问,就是通过此用户进行身份认证的,包括FTP匿名访问,HTTP匿名访问。
 
在创建IUSR_MachineName用户的同时,IIS_WPG用户组也会被创建出来。此用户组是一个包含所有预定义应用程序池标识用户的容器。在安装IIS的时候,系统里所有IIS需要用到的资源都被授予IIS_WPG用户组适当的权限。因此,当管理员为应用程序池标识为一个新创建的用户时,只需将该用户加入IIS_WPG用户组,即可保证应用程序池正常工作。
 
在这样的架构下,IIS可以很好地工作,但也有其不足之处:IUSR_MachineName用户和IIS_WPG用户组都是本地系统里的用户(组),同系统中的其他用户(组)一样,都有各自的唯一安全标识符SID。IIS的配置文件metabase.xml有调用IUSR_MachineName用户。由于此用户在其他计算机上有着不同的SID及名称,所以当我们把metabase.xml复制到其他计算机上时,IIS将无法正常工作。
 
另外,也正是由于SID的缘故,我们无法将IUSR_MachineName用户相关的ACL成功复制到其他计算机上。IIS_WPG用户组也一样。
 
IIS 7成功解决了这两个问题。
 
IIS 7的内置用户(组)突破了SID的限制,因为IIS7在调用这些内置用户(组)时,使用的是用户名而非SID。而且在不同语言版本的系统中,IIS 7的内置用户(组)都是IUSR(IIS_IUSRS)。其中,IUSR用于取代IUSR_MachineName,IIS_IUSRS用于取代IIS_WPG。
 
由于IUSR属于内置用户,所以使用时,不需要输入密码。你可以把它理解为NETWORK SERVICE或LOCAL SERVICE一类的用户。下面具体讲一下IUSR和IIS_IUSRS。
 
IUSR
 
在IIS 7中,IUSR用户取代了IUSR_MachineName用户。IUSR在认证时不需要密码。IIS 7的匿名身份认证,就是通过此用户进行的。打开IIS 7配置文件applicationHost.config ,可以看到这样一段设置:
 
<anonymousAuthentication enabled="true" userName="IUSR" defaultLogonDomain="" />
 
这表明IIS 7是通过IUSR来实现所有的匿名访问。这样一来,你就可以:
 
通过Explorer或cmd来设置IUSR的权限; 不用担心IUSR密码过期的问题; 将IUSR相关的ACL无缝迁移至其他计算机上。
 
当然,我们也可以将IIS 7的匿名身份标识为成其他用户:
 
1、打开IIS Manager,双击你想要设置的站点。 2、在功能视图中,双击身份验证。 3、选择匿名身份验证,点击编辑。 4、点击特定用户,设置。 5、输入该用户的用户名密码,确定。
 
IIS_IUSRS
 
IIS_IUSRS用户组取代了IIS_WPG用户组。此内置用户组拥有应用程序池访问系统资源所需的足够权限。因此,任何加入此用户组的用户,都可以成为一个合格的应用程序池标识用户。
 
和IUSR用户一样,IIS_IUSRS用户组也可以实现不同计算机之间的ACL复制。
 
当IIS启动工作进程时,需要用户来标识进程,而IIS_IUSRS用户组成员ApplicationPoolIdentity就是默认的标识。
 
ApplicationPoolIdentity并不是指一个用户,而是所有程序池默认标识用户的统称。这些用户与程序池是一一对应的。例如,程序池DefaultAppPool的ApplicationPoolIdentity是用IISAPPPOOL\DefaultAppPool。
 
因此,有了IIS_IUSRS用户组,管理应用程序池标识就变得简单多了,至少你不需要再为不同程序池下的站点设置不同的程序池标识用户权限。
 
原文地址:

【转】IUSR和IIS_IUSRS的更多相关文章

  1. IUSR和IIS_IUSRS

    在早期的IIS版本中,随着IIS的安装,系统会创建一个IUSR_MachineName用户.IIS启用匿名访问,就是通过此用户进行身份认证的,包括FTP匿名访问,HTTP匿名访问.   在创建IUSR ...

  2. 常见.NET功能代码汇总

    1,在Web上修改指定文件位置的Web.config 这里需要使用 WebConfigurationManager 类,但必须使用WebConfigurationFileMap类来指定文件位置,看代码 ...

  3. IIS报500.0错误

    IIS安全里面配置:Everyone.IUSR.IIS_IUSRS 参考地址:http://blog.chinaunix.net/uid-21375345-id-3213631.html

  4. win2008 服务器文件夹权限配置

    通过控制文件夹权限来提高站点的安全性. 这一篇权限设置包括二个方面,一个是系统目录.盘符的权限,一个是应用程序的上传文件夹权限设置. 系统目录 确保所有盘符都是NTFS格式,如果不是,可以用命令 co ...

  5. Win7下VS2010、IIS7配置常见问题收集

    一 在Win7下应按什么次序安装vs2010和iis7 win7推荐先安装iis7,再安装vs2010:如果次序反了,必须注册iis才可以用. IIS中ASP.NET的版本号此时可选的有1.1.2.0 ...

  6. IIS发布asp.net mvc项目(asp.net core也是一样)

    因为之前都是利用其他的工具在linux上面进行发布,导致现在忘记了在IIS上面怎么发布,现在就记录下来,以防不时之需吧 第一步: 在vs里面进行项目发布:指定好发布的位置,点击发布就好了 第二步:右击 ...

  7. 解决win10下IIS下"对路径...的访问被拒绝

    解决方案如下: 1.右击文件夹,安全,添加IUSR和IIS_IUSRS安全控制权限. 2.右击文件夹,常规,查看是否只读.将只读属性去掉.

  8. 安装Discuz

    1.下载Discuz 版本文件 http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip 2.下载PHP http://window ...

  9. [数据库]SQL Server 用户NT AUTHORITY\IUSR 登录失败

    今天打开网站时,突然报这个错误,平时都好好的 Cannot open database "JMECC" requested by the login. The login fail ...

随机推荐

  1. 请求库之requests,selenium

    requests模块 一.介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:reques ...

  2. django---ORM之Q查询

    filter 等方法中的关键字参数查询都是一起进行“AND” 的. 如果你需要执行更复杂的查询(例如OR 语句),你可以使用Q对象 调用Q from django.db.models import Q ...

  3. PC平台逆向破解

    ---恢复内容开始--- PC平台逆向破解 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. ...

  4. 20145109 《Java程序设计》第七周学习总结

    20145109 <Java程序设计>第七周学习总结 Chapter 13 Time & Date Date System.currentTimeMillis() return L ...

  5. maven项目在eclipse的library中没有Maven Dependencies

    今天使用maven创建了一个多模块的项目,在分别创建完父项目和各个子模块后,编译父项目的时候,父项目工程目录上出现了一堆红叉叉,点进去一看,是找不到依赖的类,但是pom文件中相应jar的depende ...

  6. hadoop源码编译--maven安装

    一 下载maven bin包并解压 $ wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3 ...

  7. SQL中去掉换行符 与空格符

    SELECT B.TradeOrderID AS '二段交易号',B.ZipCode AS '邮编', B.Province AS '省',B.City AS '市',B.District AS '区 ...

  8. Hibernate -- 对象关系映射基础

  9. Permutations,全排列

    问题描述:给定一个数组,数字中数字不重复,求所有全排列. 算法分析:可以用交换递归法,也可以用插入法. 递归法:例如,123,先把1和1交换,然后递归全排列2和3,然后再把1和1换回来.1和2交换,全 ...

  10. Android 通过名称获取资源ID

    当我们获取网络数据的时候,解析之后往往都是一个字符串,而不是资源id,所有我们没有办法直接使用,只能通过名称来获取到资源id, package com.example.administrator.de ...