相关疑难解决方法(0)

IIS AppPoolIdentity和文件系统写入访问权限

这是IIS 7.5和ASP.NET的一个问题,我一直在研究和无处可去.任何帮助将不胜感激.

我的问题是:在IIS 7.5中使用ASP.NET,IIS和/或操作系统如何允许Web应用程序写入文件夹,就像C:\dump在完全信任下运行一样?我怎么没有为应用程序池用户显式添加写访问权限(在这种情况下ApplicationPoolIdentity)?

我知道的很多:

  • 在IIS 7.5中,应用程序池的默认标识是ApplicationPoolIdentity.
  • ApplicationPoolIdentity 表示名为"IIS APPPOOL\AppPoolName"的Windows用户帐户,该帐户在创建应用程序池时创建,其中AppPoolName是应用程序池的名称.
  • "IIS APPPOOL\AppPoolName"用户默认为该IIS_IUSRS组的成员.
  • 如果你是在完全信任运行Web应用程序可以写入到文件系统的许多地区(不包括像文件夹C:\Users,C:\Windows等等).例如,您的应用程序将有权写入某些文件夹,例如C:\dump.
  • 默认情况下,IIS_IUSRS组不会获得读取或写入访问权限C:\dump(至少不能通过Windows资源管理器中的"安全"选项卡显示该访问权限).
  • 如果拒绝写访问权限IIS_IUSRS,则在尝试写入文件夹时会出现SecurityException(如预期的那样).

因此,考虑到所有这些,如何授予"IIS APPPOOL\AppPoolName"用户写入权限?w3wp.exe进程以此用户身份运行,那么是什么允许此用户写入它似乎没有显式访问权限的文件夹?

请注意,我理解这可能是为了方便起见,因为如果您在完全信任下运行,授予用户访问它需要写入的每个文件夹将是一件痛苦的事.如果要限制此访问权限,则始终可以在"中等信任"下运行该应用程序.我有兴趣了解操作系统和/或IIS允许这些写入的方式,即使似乎没有授予显式文件系统访问权限.

asp.net permissions iis-7.5 windows-server-2008-r2

387
推荐指数
2
解决办法
27万
查看次数

open_basedir限制生效.文件(/)不在允许的路径中:

我在我网站上的头像上传时收到此错误.我以前从来没有得过它,最近没有任何改变让我开始得到这个错误......

Warning: is_writable() [function.is-writable]: 
open_basedir restriction in effect. 
File(/) is not within the allowed path(s):
Run Code Online (Sandbox Code Playgroud)

php filesystems

80
推荐指数
5
解决办法
39万
查看次数

添加虚拟目录时,"无法验证对路径的访问权限(C:\ inetpub\wwwroot)"

我试图在Windows Server 2008 R2上设置IIS Web服务和ASP.NET服务.物理目录已创建,但我无法使其工作.这是一个全新的IIS角色安装.

在此输入图像描述

服务器位于域上,domain\server $具有读/写/浏览权限C:\inetpub\wwwroot.读/写/浏览访问权限也授予:

  • 管理员
  • 网络服务
  • 用户
  • IIS_IUSRS
  • IUSR

到目前为止我尝试过的

  • Edit Virtual Directory -> Connect As对话框中,选择"应用程序用户"(通过身份验证).当我按下测试设置时,我收到上述错误.

  • Edit Virtual Directory -> Connect As对话框中,选择特定用户:( IUSR无密码).当我按下测试设置时,我得到以下信息: 在此输入图像描述

其他说明

匿名身份验证已启用,匿名用户身份是应用程序池标识.

应用程序池配置如下所示: 在此输入图像描述

在Web浏览器中,http://localhost返回空白页但没有错误.

任何帮助,将不胜感激.

iis iis-7.5

74
推荐指数
3
解决办法
14万
查看次数

在Windows Server 2008 IIS7上写入ASP.NET中的事件日志

我正在尝试使用log4net写入Windows Server 2008 SP1上IIS7下的客户事件日志.但是,帐户似乎无权写入事件日志.有没有人有什么建议?

asp.net iis iis-7

29
推荐指数
3
解决办法
5万
查看次数

ASP.NET 5启动应用程序时发生错误

发布ASP.NET Web App后,我正在尝试在本地服务器上托管该网站.但是,当我启动它时,它在我的浏览器中给出了这个错误:

哎呀.500内部服务器错误启动应用程序时发生错误.

如何调试此错误是什么?在Visual Studio中开始使用IISExpress和"web"时,该网站可以工作(包括调试和发布配置).

我正在使用开发环境,我已经指定了app.UseDeveloperExceptionPage();.

我已按照此处的说明部署到IIS.

我也尝试了这里提供的建议(选择"删除发布前删除所有现有文件"重新发布).(OP有一个稍微不同的错误,所以这就是我发布一个新问题的原因.)

我在网上看了几个小时,但似乎没有太多关于它的内容.有任何想法吗?

我在Windows 7上,使用ASP.NET 5 RC1.

c# asp.net iis-7.5 dnx asp.net-core

20
推荐指数
2
解决办法
2万
查看次数

ASP.Net服务器上的进程无法通过IIS正确运行

我试图在ASP.Net Web应用程序中的上传文件上运行防病毒扫描.我们正在使用Sophos,因此可以访问他们的命令行API sav32cli.在我使用的代码中:

Process proc = new Process();
proc.StartInfo.FileName = @"C:\Program Files (x86)\Sophos\Sophos Anti-Virus\sav32cli.exe";
proc.StartInfo.Arguments = @"-remove -nc " + SavedFile;
proc.StartInfo.Verb = "runas";
proc.Start();
proc.WaitForExit();
int exitCode = proc.ExitCode;
Run Code Online (Sandbox Code Playgroud)

当单步执行代码时,当连接到w3wp开发服务器上的进程时,代码只是从一行跳到另一行似乎什么都不做.从dev服务器上的代码运行时,它会执行预期的扫描文件并删除它是否被视为病毒.

服务器正在运行IIS 8.0,以及.Net Framework 4中内置的应用程序.我已根据这些说明更改了机器配置以允许进程作为SYSTEM帐户运行.https://support.microsoft.com/en-us/kb/317012#%2Fen-us%2Fkb%2F317012

<processModel  userName="SYSTEM" password="AutoGenerate" />
Run Code Online (Sandbox Code Playgroud)

有什么我想念的吗?这种实施的最佳实践是什么?

编辑:调用时,Process返回ExitCode2(错误停止执行),而不是预期的0(扫描工作,没有病毒),或3(扫描工作,发现病毒).

编辑2:根据下面的评论,我将代码更改为:

Process proc = new Process();
proc.StartInfo.FileName = @"C:\Program Files (x86)\Sophos\Sophos Anti-Virus\sav32cli.exe";
proc.StartInfo.Arguments = @"-remove -nc " + SavedFile;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.UseShellExecute = false;
proc.Start();
StringBuilder output = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net iis antivirus process

7
推荐指数
1
解决办法
1205
查看次数

将用户添加到PHP会话目录iis 8时,"无法找到名为IIS_IUSRS的对象"

我正在运行运行IIS 8的Windows Server 2012 R2.整个Windows服务器环境的新功能.

要安装PHP,我遵循以下教程

安装和配置PHP

部分原因是,为了正确使用PHP的会话功能,我需要创建一个新文件夹"sessions"并将"IIS_IUSRS"添加到该文件夹​​中.

但是,当我在"对象文件框"中输入相同内容时,它会向我提供"找不到名为IIS_IUSRS的对象"错误.

到目前为止,我已经提到了以下内容,但没有一个有用

尝试将IIS_IUSRS添加到Administrators组[关闭]

IIS或IIS_IUSRS permisions,以便PHP可以为WordPress写入文件

IIS_IUSRS组丢失

如何在C#中为IIS用户授予文件夹权限?

IIS8中的IIS_IUSRS和IUSR权限

一直在研究几个小时,但却找不到足够的具体内容.

php iis iis-8 windows-server-2012 windows-server-2012-r2

5
推荐指数
2
解决办法
2909
查看次数