IIS 8.5 IISManagerAuth Provider 530-User não pode efetuar login

3

Estou tentando configurar a publicação FTP para um site no IIS 8.5 (Windows Server 2012 R2) com um usuário IISManagerAuth. Infelizmente, estou recebendo o temido Erro 530 - O usuário não pode efetuar login. Ele funciona perfeitamente com um usuário do Windows. Em uma inspeção mais detalhada, recebi estas mensagens:

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

Este parece ser o mesmo problema detalhado aqui:

A solução é conceder permissão de leitura para a pasta de configuração e dois arquivos para o serviço de rede:

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

No entanto, de acordo com o meu conhecimento, esse usuário está inativo e desaparecido no IIS 8 e foi substituído por ApplicationPoolIdentity. Isso tudo é bastante simples ao definir permissões para as pastas físicas de um site: IIS APPPOOL \ Poolname

Como experiência, tentei conceder acesso de leitura à pasta e aos arquivos mencionados acima para esse usuário, mas isso não funcionou.

Então, estou bastante perplexo, alguém sabe qual usuário está acostumado a ler esses arquivos de configuração para o IISManagerAuth? Qual usuário precisa de permissões aqui? Ou estou fazendo completamente errado e o problema é completamente diferente?

Obrigado pela sua ajuda!

    
por Martin 30.01.2014 / 01:49

2 respostas

2

Eu descobri!

Você precisa adicionar permissões em% SystemDrive% \ Windows \ System32 \ inetsrv \ config

Adicione "Serviço de Rede" e conceda permissões de Leitura para a pasta. Recebi um erro sobre uma subpasta quando fiz isso ... mas funcionou de qualquer maneira.

    
por 18.06.2014 / 23:33
0

Você está certo, embora não tenha funcionado para mim no começo.

Eu tive o problema adicional de que "Serviço de Rede" não é realmente chamado de "Serviço de Rede" em versões não inglesas do Windows Server. Eu não sei por que eles fizeram isso, localizando os nomes dos usuários do sistema parece incrivelmente estúpido para mim. Mas tenho certeza que parecia uma boa ideia na época. Então, eu tive a idéia certa no começo, eu estava apenas impressionado com essa tecnicalidade.

Se alguém tiver o mesmo problema, procure o nome de usuário localizado ou use o identificador de segurança "* S-1-5-20".

É assim que os comandos acima devem ser lidos, para que funcionem em qualquer versão de idioma do 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

Para obter mais informações, consulte Estruturas SID bem conhecidas

    
por 20.06.2014 / 00:18