请教IUSR_MachineName 与 Network Service/ASPNET 两个账户之间的关系

yzlxy 2010-09-27 06:12:33
主要是web访问的时候,在有的服务器上需要在web目录ACL中加入IUSR_MachineName 才能访问,有的则不需要,这是什么原因?(IIS中都启用了匿名访问)
...全文
531 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangerpang 2013-03-12
  • 打赏
  • 举报
回复
<identity impersonate="true" userName="操作系统用户" password="用户密码"/> 请问:操作系统用户和用户密码怎么填???
yzlxy 2010-09-28
  • 打赏
  • 举报
回复
求达人再解释啊
yzlxy 2010-09-27
  • 打赏
  • 举报
回复
在本地机器开发的时候,确实不需要配置ACL
但放到服务器上,有时候不加入IUSR...确实无法访问网站
不知道是什么原因

[Quote=引用 5 楼 net_lover 的回复:]
之间的关系就是
IUser_MachineName是asp运行的帐号,
ASPNET是xp iis5.1 中iis运行的帐号
Network Service是iis6运行asp.net的帐号,
在IIS 7.0中IUSR内建帐号替代了IUSR_MachineName帐号



在iis6的asp.net2.0网站上,默认情况下,是不用设置ACL为iuser_的
[/Quote]
孟子E章 2010-09-27
  • 打赏
  • 举报
回复
之间的关系就是
IUser_MachineName是asp运行的帐号,
ASPNET是xp iis5.1 中iis运行的帐号
Network Service是iis6运行asp.net的帐号,
在IIS 7.0中IUSR内建帐号替代了IUSR_MachineName帐号



在iis6的asp.net2.0网站上,默认情况下,是不用设置ACL为iuser_的
yzlxy 2010-09-27
  • 打赏
  • 举报
回复
楼上的,百度词条我会搜,不劳烦您老人家了
wwfgu00ing 2010-09-27
  • 打赏
  • 举报
回复
LocalSystem 账户

  LocalSystem是预设的拥有本机所有权限的本地账户,这个账户跟通常的用户账户没有任何关联,也没有用户名和密码之类的凭证。这个服务账户可以打开注册表的HKEY_LOCAL_MACHINE\Security键,当LocalSystem访问网络资源时,它是作为计算机的域账户使用的。

  举例来说,以LocalSystem账户运行的服务主要有:WindowsUpdate Client、 Clipbook、Com+、DHCP Client、Messenger Service、Task Scheduler、Server Service、Workstation Service,还有Windows Installer。

  Network Service 账户

  Network Service账户是预设的拥有本机部分权限的本地账户,它能够以计算机的名义访问网络资源。但是他没有Local System 那么多的权限,以这个账户运行的服务会根据实际环境把访问凭据提交给远程的计算机。Network Service账户通常可以访问Network Service、Everyone组,还有认证用户有权限访问的资源。

  举例来说,以Network Service账户运行的服务主要有:Distributed Transaction Coordinator、DNS Client、Performance Logs and Alerts,还有RPC Locator。

  Local Service 账户

  Local Service账户是预设的拥有最小权限的本地账户,并在网络凭证中具有匿名的身份。Local Service账户通常可以访问Local Service、Everyone组还有认证用户有权限访问的资源。

  举例来说,以Local Service账户运行的服务主要有:Alerter、Remote Registry、Smart Card、SSDP,还有WebClient。





简单说明:

Local system :本地系统用户, 个人电脑通常选择这个用户

Network service :网络服务用户, 通常需要远程连接的都使用这个

Local Service :本地服务

另外还有一个要求输入用户名密码的那个用户是域用户,这个是做集群的时候选择的登陆方式
yzlxy 2010-09-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
在IIS 6/7中,ASPNET账户被替成Network Service。IIS 7中,如果使用的是默认的Network Service,那么ASP.NET程序能访问的资源都是受Network Service限制的,这个账户能访问什么资源,ASP.NET程序才能访问资源。Network Service在默认情况下,是可以读写IIS wwwroot文件夹下的所有文件以及在ACL的控制下来访问其他文件……
[/Quote]

谢谢,其实我最想知道的是,如果Web应用程序安装在非wwwroot目录下,根据什么规则添加目录权限,可以正常访问网站(包含付费空间在machine级设置的权限)?

我的理解是(不一定对)

如果web.config没有配置<identity>节,则给Web目录加入 Network Service/ASPNET 用户
如果<identity impersonate="true" userName="操作系统用户" password="用户密码"/>
则给Web目录加入“操作系统用户”
如果仅<identity impersonate="true"> 且启用了匿名访问,则加入匿名账号(一般就是IUSR_MachineName)
wuyq11 2010-09-27
  • 打赏
  • 举报
回复
在IIS 6/7中,ASPNET账户被替成Network Service。IIS 7中,如果使用的是默认的Network Service,那么ASP.NET程序能访问的资源都是受Network Service限制的,这个账户能访问什么资源,ASP.NET程序才能访问资源。Network Service在默认情况下,是可以读写IIS wwwroot文件夹下的所有文件以及在ACL的控制下来访问其他文件夹。
ASP.NET程序部署到付费空间上后便不能创建文件了。服务器在machie级别定义了CAS,限制所有运行在这台机器上的ASP.NET不能进行文件操作。目的是为了保护服务器的安全。
COM组件的访问是需要配置Network Service权限的
不能添加权限,可在config里impersonate模拟 IIS 验证的帐户或用户
<identity impersonate="true" userName="操作系统用户" password="用户密码"/>

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧