I'acabei de me mudar do IIS6 no Win2003 para o IIS8 no Win2012 para hospedar aplicações ASP.NET.
Dentro de uma pasta em particular na minha aplicação eu preciso de Criar & Eliminar ficheiros. Depois de copiar os arquivos para o novo servidor, eu continuei vendo os seguintes erros quando tentei excluir arquivos:
Acesso ao caminho 'D:\WebSites\myapp.co.uk.companydata\filename.pdf' é negado.
Quando verifico o IIS vejo que a aplicação está a correr sob a conta DefaultAppPool, no entanto, nunca configurei as permissões do Windows nesta pasta para incluir IIS AppPool\DefaultAppPool
Em vez disso, para parar de gritar com os clientes, concedi as seguintes permissões na pasta:
**IUSR***
**IIS_IUSRS***
Isto parece ter funcionado, mas preocupa-me que tenham sido estabelecidos demasiados privilégios. I'li informações conflituosas online sobre se **IUSR*** é realmente necessário aqui. Alguém pode esclarecer quais usuários/permissões seriam suficientes para Criar e Excluir documentos nesta pasta, por favor? Também, o IUSR faz parte do grupo IIS_IUSRS?
Por favor, veja minha resposta abaixo. I'tive que fazer isto tristemente porque algumas sugestões recentes não foram bem pensadas, ou mesmo seguras (IMO).
IUSR faz parte do grupo IIS_IUSER.por isso acho que você pode remover as permissões para IUSR sem se preocupar. Leitura adicional
No entanto, um problema surgiu com o tempo à medida que mais e mais serviços de sistema Windows começaram a ser executados como NETWORKSERVICE. Isso ocorre porque serviços rodando como NETWORKSERVICE podem interferir em outros serviços que rodam sob a mesma identidade. Como os processos worker do IIS rodam código de terceiros por padrão (ASP clássico, ASP.NET, código PHP), era hora de isolar os processos worker do IIS de outros serviços do sistema Windows e rodar processos worker do IIS sob identidades únicas. O sistema operacional Windows fornece um recurso chamado "Virtual Accounts" que permite ao IIS criar identidades únicas para cada uma de suas Piscinas de Aplicação. Por padrão, o Application Pools é o pool que é atribuído por padrão a todos os Application Pools criados pelo usuário.
Para torná-lo mais seguro você pode alterar a Identidade Padrão do IISAppPool para ApplicationPoolIdentity.
Quanto à permissão, Create and Delete resume todos os direitos que podem ser concedidos. Portanto, o que quer que você tenha atribuído ao grupo IIS_USERS é o que eles vão exigir. Nada mais, nada menos.
Espero que isto ajude.
@EvilDr Você pode criar uma conta IUSR[identificador] dentro do seu ambiente AD e deixar o pool de aplicações específico ser executado sob essa conta IUSR[identificador]:
"Pool de aplicações" > "Configurações avançadas" > "Identidade" > "Conta personalizada"
Defina seu site para "Aplicar usuário (pass-through authentication)" e não "Usuário específico", nas Configurações Avançadas.
Agora dê a esse IUSR_[identificador] as permissões NTFS apropriadas em arquivos e pastas, por exemplo: modifique em companydata.
Eu usaria um usuário específico (e NÃO um usuário de aplicação). Então eu habilitarei a personificação na aplicação. Uma vez que você faça isso qualquer que seja a conta definida como usuário específico, essas credenciais seriam usadas para acessar recursos locais nesse servidor (não para recursos externos).
A configuração específica do utilizador destina-se especificamente a aceder a recursos locais.