IIS 8.5 IISManagerAuth提供程序530 – 用户无法login

我正在尝试使用IISManagerAuth用户为IIS 8.5(Windows Server 2012 R2)中的站点设置FTP发布。 不幸的是,我得到了可怕的错误530 – 用户无法login。但它与Windows用户完美的工作。 进一步检查,我得到这些消息:

530-User cannot log in. Win32 error: Access is denied. Error details: Filename: \\?\C:\Windows\system32\inetsrv\config\redirection.config Error: Cannot read configuration file due to insufficient permissions 

这似乎是同样的问题在这里详细说明: IIS 7.5,在Windows 7上,IIS用户无法login,“由于权限不足,无法读取configuration文件”

解决方法是将configuration文件夹和两个文件的读取权限授予networking服务:

 ICACLS "%SystemDrive%\Windows\System32\inetsrv\config" /Grant "Network Service":R /T ICACLS "%SystemDrive%\Windows\System32\inetsrv\config\administration.config" /Grant "Network Service":R ICACLS "%SystemDrive%\Windows\System32\inetsrv\config\redirection.config" /Grant "Network Service":R 

然而,据我所知,这个用户已经死了,而且在IIS8以上,用ApplicationPoolIdentity代替。 为站点的物理文件夹设置权限时,这非常简单:IIS APPPOOL \ Poolname

作为一个实验,我试图授予上述文件夹和文件的读访问权限,但这并没有办法。

所以我几乎难住,有没有人知道哪些用户是用来读取IISManagerAuth这些configuration文件? 哪个用户需要权限? 还是我做的完全错误,问题是完全不同的?

谢谢你的帮助!

我想到了!

您需要在%SystemDrive%\ Windows \ System32 \ inetsrv \ config上添加权限

添加“networking服务”,并给它的文件夹的读取权限。 当我这样做的时候,我得到了关于子文件夹的错误…但反正它工作。

你是对的,尽pipe起初对我来说不起作用。

我还有另外一个问题,在非英文版的Windows Server中,“networking服务”实际上并不叫“networking服务”。 我不知道他们为什么这样做,本地化系统用户的名字似乎对我来说非常愚蠢。 但我相信当时看来这是个好主意。 所以我一开始就有正确的想法,我只是被这个技术性所抛弃。

如果任何人有同样的问题,请查找本地化的用户名或使用安全标识符“* S-1-5-20”。

这是上述命令应该如何阅读,以便它们可以在任何语言版本的Windows Server中工作:

 ICACLS "%SystemDrive%\Windows\System32\inetsrv\config" /Grant *S-1-5-20:R /T ICACLS "%SystemDrive%\Windows\System32\inetsrv\config\administration.config" /Grant *S-1-5-20:R ICACLS "%SystemDrive%\Windows\System32\inetsrv\config\redirection.config" /Grant *S-1-5-20:R 

有关更多信息,请参阅众所周知的SID结构