如何授予ASP.NET写入Windows 7文件夹的权限?

Cyb*_*ist 59 asp.net iis-7.5

我有一个新的Win7工作站,我正在尝试让ScrewTurn Wiki在机器上运行.我的STW安装使用文件系统选项来存储其数据,因此我需要为安装网站的文件夹中的ASP.NET辅助进程提供写入权限.

但是,我似乎无法在Win7中提出工作进程的名称,以便将其添加到文件夹的权限.在XP中它是ASPNET_WP,如果我没记错的话,但这不是它在Win7中的名字.

有人可以告诉我吗?

编辑添加:

回应@Dragan_Radivojevic,这是所讨论的应用程序池的样子(名为ScrewTurnWiki):

IIS7应用程序池

身份是"ApplicationPoolIdentity"

Dra*_*vic 129

从安全角度来看,为所有IIS_USRS组提供写权限是一个坏主意.您不需要这样做,您只能向运行应用程序池的系统用户授予权限.

如果您正在使用II7(我想你这样做),请执行以下操作.

  1. 打开IIS7
  2. 选择您需要修改权限的网站
  3. 转到基本设置,查看您正在使用的应用程序池.
  4. 转到应用程序池并从#3中找到应用程序池
  5. 查找用于运行此应用程序池的系统帐户(标识列)
  6. 导航到IIS中的存储文件夹,选择它并单击编辑权限(在右侧的Actions子菜单下)
  7. 打开安全选项卡,仅为您在#3中标识的用户添加所需的权限

注意#1:如果您在#3中看到ApplicationPoolIdentity,则需要像此IIS AppPool {application_pool_name}一样引用此系统用户.例如IIS AppPool\DefaultAppPool

注意#2:添加此用户时,请确保在"选择用户或组"对话框中设置正确的位置.这需要设置为本地计算机,因为这是本地帐户.

  • 看起来不错,但有问题的身份不会被系统识别为用户,并且搜索(通过"高级"按钮)也找不到它.但是,我正在使用我的工作站,而不是服务器.我支持两个防火墙,我不认为IIS_IUSRS是暴露的. (5认同)
  • 最后.当我第一次尝试这个时,它仍然无法工作(我想我之前已经尝试过了),但是你的"我在本地尝试了**..."让我想知道是否可能使用了错误的域名.我没有做过很多这样的事情,无论如何,我注意到"From this locations"值是网络名称,而不是本地机器.使用位置按钮我将其设置为机器的名称,然后您的建议工作!请修改你的答案,以涵盖这个小皱纹,我会将你的答案标记为"接受" - 并感谢您的帮助! (3认同)
  • 我添加了一个屏幕截图来说明应用程序池的外观. (2认同)
  • 得到它了。您应该能够找到这样的用户“ IIS AppPool \ ScrewTurnWiki”(不带引号)。请让我知道这是否适合您。 (2认同)
  • #6)“导航到IIS中的存储文件夹”是指内容视图吗?或者您的意思是选择网站?有一个浏览选项,则您不再在IIS中。 (2认同)

ste*_*eve 31

我知道这是一个旧线程,但为了进一步扩展这里的答案,默认情况下IIS 7.5创建应用程序池身份帐户以运行工作进程.添加文件权限时,您无法像普通用户帐户一样搜索这些帐户.要将它们添加到NTFS权限ACL,您可以键入应用程序池标识的完整名称,它将起作用.

这与应用程序池身份帐户的处理方式略有不同,因为它们被视为虚拟帐户.

此外,应用程序池标识的用户名是"IIS AppPool\application pool name",因此如果它是应用程序池DefaultAppPool,则用户帐户将为"IIS AppPool\DefaultAppPool".

如果您打开计算机管理并查看本地组IIS_IUSRS的成员,则可以看到这些.将帐户添加到NTFS权限ACL时,不需要附加到它们末尾的SID.

希望有所帮助


Cyb*_*ist 13

我的直接解决方案(因为我找不到ASP.NET工作进程)是给IIS_IUSRS写入(即修改)权限.这很有效.我似乎记得在WinXP中我必须专门给予ASP.NET工作进程写入权限才能完成此任务.也许我的记忆是错误的,但无论如何......

@DraganRadivojevic写道,从安全角度来看,他认为这是危险的.我不反对,但由于这是我的工作站,而不是网络服务器,它似乎相对安全.在任何情况下,他的答案都更好,并且是因为没有为AppPool用户指定正确的域而追逐失败路径后我最终确定的.