pasta do IIS 7.5 e permissões do site

3

Situação:

  • site de teste criado no gerenciador do servidor IIS
    • configurações básicas / conectar como: usuário do aplicativo
    • autenticação / autenticação / edição anônima: identidade do pool de aplicativos
  • caminho físico tem "IIS AppPool \ DefaultAppPool" ler e executar, listar conteúdo da pasta e permissões de leitura (além de administradores / sistema com controle total herdado)
    • contém um único arquivo, index.html (mais o web.config gerado com as configurações acima)

Erros:

  • Erro HTTP 500.19 - Erro interno do servidor
  • Erro de configuração Não é possível ler o arquivo de configuração devido a permissões insuficientes

Perguntas:

  • como faço para que funcione com a identidade do aplicativo? (conseguiu que ele funcionasse usando o iusr com autenticação anônima e com permissão rx na pasta física)
  • estou fazendo errado ou essa é realmente a melhor prática, já que a maioria dos recursos que eu encontrei parece sugerir?

Eu também aprecio quaisquer bons tutoriais sobre o "básico" do IIS 7.5 - Não consegui encontrar respostas para estas perguntas específicas sobre learn.iis.net e vários outros sites e geralmente encontrou os recursos disponíveis lá muito fragmentados.

Relacionados: Permissões de diretórios do site do IIS 7.5 , Windows Server 2008 R2 - IIS7.5 - Permissões do site

    
por Razor 05.01.2012 / 02:23

1 resposta

6

Se você criou o site usando os padrões padrão do IIS7.5, o seu "site de teste" também terá um pool de aplicativos criado para ele.

A identidade padrão que o site executará solicitações como ApplicationPoolIdentity . ApplicationPoolIdentity é uma conta especial sintetizada criada instantaneamente e que representa a identidade do pool de aplicativos do seu site.

Você afirma:

physical path has "IIS AppPool\DefaultAppPool" read and execute

Isso explicaria por que você está recebendo o erro 500.19 . A menos que você tenha atribuído o site ao pool de aplicativos "DefaultAppPool", essa permissão não estará fazendo nada útil.

Você precisa atribuir as permissões de leitura e execução de ApplicationPoolIdentity do site (pelo menos). Para fazer isso, execute o seguinte na linha de comando:

icacls <path_to_site> /grant "IIS APPPOOL\<app_pool_name>"(CI)(OI)(M)

Em que <app_pool_name> é o nome do pool de aplicativos criado para o seu site de teste. Você pode encontrar seu nome executando:

appcmd list app /site.name:"<your site name>"

Isso retornará algo assim e exibirá o nome do pool de aplicativos do seu site (o qual ApplicationPoolIdentity recebeu o nome de:

APP "test site/" (applicationPool:test site)
    
por 05.01.2012 / 13:50