当前位置 主页 > iis相关 >

关于IIS7的权限简述

时间: 2018-09-28 14:19 栏目:iis相关

  IIS7对于以往是革命性的改变,不再是以前缝缝补补的破衣裳,全部重写的代码带来了更为优秀的性能与扩展能力.他不再是一个WebServer了而变成了一个ApplicationServer能够承载一切以通讯为基础的应用.新的变革也带来了新的知识,想更好的驾驭IIS7权限则是最基础的一部分也是最先需要了解的一部分.本文让你初步了解IIS7的权限应用的基本相关知识,了解来龙去脉不会再因应用程序突然多出一个莫名其妙权限而感到困惑.虽然下面的内容均以Web服务为例,但道理同样适用于以IIS7宿主的其他应用如FTP等等。
 
  一、工作进程(WorkerProcess)
 
  WorkerProcess是IIS应用程序的宿主,在任务管理器中可以看到每一个WorkerProcess就是一个w3wp.exe.
 
  工作进程标识(WorkerProcessIdentity-WPI)
 
  是WorkerProcess运行时的身份:
 
  1、在IIS6,Windows2008IIS7下,默认关联权限是NetworkService。
 
  2、在Windows2008R2IIS7.5下,默认是关联权限是ApplicationPoolIdentity。
 
  这里并没有提供一个直接的手段来设置WorkerProcess在什么身份标识下运行,而是通过ApplicationPool的身份标识设定来实现的。
 
  二、应用程序池(ApplicationPool)
 
  ApplicationPool包含至少一个或多个WorkerProcess(WebGarden模式).在运行时会将ApplicationPool的身份注入到WorkerProcess中,就会以ApplicationPool的身份运行.可以认为ApplicationPool与其包含的WorkerProcess的运行身份是一致的。
 
  应用程序池标识(ApplicationPoolIdentity)
 
  是ApplicationPool运行时的身份:
 
  1、在IIS6,Windows2008IIS7下,默认关联权限是NetworkService。
 
  2、在Windows2008SP2IIS7下,运行身份设置时除了LocalService,NetworkService,LocalSystem外增加了ApplicationPoolIdentity一个选项,而这个则是一个可以设置权限的虚拟标识。
 
  3、在Windows2008R2IIS7.5下,默认是关联权限是ApplicationPoolIdentity。
 
  三、虚拟帐户ApplicationPoolIdentity
 
  上面提到的身份标识选项中你可以选择他,但他只是一个统称,并不存在实际的这个命名.他依赖你的ApplicationPool的名称,例如我的ApplicationPool名字叫做:SimonwAppPool,那么这个虚拟标识的全名是:IISAppPool\SimonwAppPool运行在此ApplicationPool下的WorkerProcess从任务管理器中可以看到w3wp.exe是在SimonwAppPool这个用户下运行的.可以在文件系统中对这个帐户分配权限.这么做的好处是能够将能够将权限分离开来做粒度更细的配置,不像是NetworkService有很多应用基于此,设置一个权限影响一大片。
 
  不过有时候通过UI找不到这个对象大约是个Bug,通过命令行icacls处理即可.
 
  四、什么是impersonate
 
  这可能是一个让人容易迷糊的词汇impersonate-扮演,装扮.他是指在某个特定的时刻以一个新的身份来代替已有身份来运行应用程序.一个请求来临时在IIS处理管道中,在authentication之前authenticateduser的上下文是未知的,这时你的应用程序以WPI的权限在运行.在authentication之后authenticateduser的上下文被建立,但依然没有去扮演,直至请求被映射到他的handler也就是handlermapping后应用程序开始使用扮演则将默认的WPI权限替换为authenticateduser的权限来执行应用程序。
 
  举个例子,php配置fastcgi时推荐设置fcgi.impersonate=true,体现在请求一个php文件时
 
  false:始终使用WPI的权限,默认权限是NetworkService。
 
  true:使用authenticateduser,默认为IUSR,也就是说可以让在站点级别上设置的权限生效。
 
  五、用户组与用户
 
  在IIS7下需要注意2个特殊的用户和用户组,在IIS6中有着类似的对应关系
 
  IIS6:IIS_WPG-IIS7:IIS_IUSRS
 
  IIS6:IUSR_MachineName-IIS7:IUSR
 
  最大的改变就是他们都成为了系统内置帐户(built-inaccount)有着统一的SID,这样的好处在于做不同机器/系统间的拷贝时可以连带权限一同拷贝过去了,在以往因为SID不同换了机器权限是无法有效拷贝的只能挨个手动设置,现在方便多了。
 
  1、IIS_IUSRS组
 
  默认他会拥有适当的权限来运行WorkerProcess.所有的WPI下的运行帐户均被隐式的自动加入到这个组中,以获得最小的运行权限.例如当你将SimonwAppPool这个ApplicationPool的运行身份设置为ApplicationPoolIdentity,那么IISAppPool\SimonwAppPool这个用户会被自动加入到IIS_IUSRS组中拥有他的全部权限.因此对此组权限赋值需很小心很容易不知不觉中影响一大片。
 
  2、IUSR默认匿名帐户
 
  特别需要注意的别看他是一个匿名帐户并且没有密码,但他属于authenticatedusers,而authenticatedusers属于Users组,因此IUSR默认具备了Users组的权限。
缩小 缩小 缩小 缩小
IIS7整站下载工具 IIS7批量查询排名 IIS7远程桌面连接工具 iis7-iis网站批量管理 iis7批量替换工具 IIS7服务器专用下载工具 IIS7日志分析工具 IIS7批量PING,服务器批量添加网卡IP小工具 IIS7远程同步备份工具
IIS7网站监控 站群批量SEO查询 批量获取排名域名 批量关键词排名查询 模拟各种蜘蛛 批量友情链接监测 批量检测死链 搜索引擎大全 批量查询外链
批量查询网站标题 批量查询KeyWords 批量查询描述 批量查询网站IP 批量百度收录查询 批量查询百度日收录 批量查询百度周收录 批量查询百度月收录 批量查询360总收录 批量查询360日收录 批量查询网站年龄 批量查询360PC权重 批量查询爱站移动权重 批量查询站长移动权重 批量查询360移动权重 批量查询神马权重 批量查询谷歌PR 批量查询搜狗PR 批量查询百度反链 批量查询爱站首页反链 批量查询爱站内页反链 批量查询百度快照 批量查询搜狗快照 批量icp备案查询 批量网站ip地址查询 批量查询导出链接 批量查询百度V认证 批量查询百度安全 批量查询站长PC权重 批量查询爱站PC权重 批量查询搜狗总收录 站长资源大全 IIS7-cms大全 IIS7站群大全 IIS7虚拟空间大全 IIS7服务器大全 IIS7-VPS大全