Inquiridor
permissoes de gravar arquivo no iis 7.5

Pergunta
-
Tenho um site onde tive que trocar de servidor e coloquei em um windows 7 server com iis 7.5, tenho uma página onde gravo uns arquivos em uma pasta no servidor e agora ela não está gravando acho que é permissão, alguem sabe como resolver isso ?
Junior
Todas as Respostas
-
Junior,
No Application Pool da sua aplicação, você utiliza algum usuário específico como "Identidade" ou o padrão ApplicationPoolIdentity? A autenticação Anônima está habilitada para a sua aplicação (caso sim, qual o usuário associado a ela o do pool IIS ou outro)?
Algumas possíveis saídas:
A forma mais simples, porém, mais perigosa seria você dar permissão de escrita e leitura para todos os usuários a esta pasta, porém, ela poderia ficar exposta.
Você pode tentar dar permissões de leitura/escrita nesta pasta para o usuário do IIS;
Se nenhuma destas atender, avise que tento ajudar com outras.
Abraços.
-
-
Clica no Pool, acessa configurações avançadas e procura por Identidade.
Tentou dar permissões na pasta para o usuário do IIS já?
Outra questão... o acesso anônimo está apontando para o usuário do IIS (IUSR) (na aplicação procure por autenticação, selecione anônimo e editar)?- Editado Diego Cotini terça-feira, 23 de abril de 2013 16:50
-
no meu pool tenho vário sites, nesse especificamente que esta me dando problema em Identidade tem :
LocalService
Já dei permissoes ao uisr em tudo e nada e o interessante é que mapeie a minha maquina e ele grava o arquivo e gera os dados, e no servidor no máximo ele cria o arquivo mais fica zerado.
Junior
-
Certo... mas se ele está no mínimo criando o arquivo, é de se esperar que permissão de escrita ele tem...
Você consegue garantir que o problema é na gravação do arquivo e não em um fluxo posterior, cujos privilégios do LocalService são suficientes?
Tenta mudar o pool desta aplicação que está dando problema para LocalSystem (que tem permissão total) para fazer um teste.
-
Mudei e continua do mesmo jeito, ele grava o arquivo texto mais cria zerado. Mudei o pool para LocalSystem.
Junior
- Editado Junior_luiz terça-feira, 23 de abril de 2013 17:20
-
-
Diego não gera exception fica parado apenas é uma pagina onde faço um select no banco e do result crio um arquivo com extensão txt e vou inserindo as linhas do result do select dentro dele(arquivo).
O usuário anonimo está realmente IUSR eu já dei permissão a esse usuário até no inetpub como parceira e mesmo assim nada.
Agora nem o arquivo está criando.
O que me deixa mais intrigado é que localmente ele cria o arquivo lá no servidor na pasta que eu quero, mais qdo publico o projeto ele não cria.
Junior
-
-
-
-
-
Iniciar, botão direito em computador, propriedades.
Lá terá o nome do computador.
Quando procurar o usuário do IIS para dar permissão você terá que pesquisá-lo na máquina (locais... escolha seu servidor).
Acho que entendi errado a sua pergunta... vc quer saber o nome o usuário IIS, certo? Creio que terá que pesquisar... Se for o da versão 7.5 pode usar o que passei anteriormente.- Editado Diego Cotini terça-feira, 23 de abril de 2013 19:34
-
-
Junior, já utilizei um identity como LocalSystem para poder utilizar recursos que as outras não permitiam (como acessar e matar processos), para outros casos, como acesso de leitura e gravação em pastas nunca precisei.
No caso que citei acima, ainda tive que ir na aplicação, editar o usuário anônimo e dizer que ele teria as credenciais do Application Pool.
Estou achando estranho você precisar fazer isso no seu caso, mas vale tentar. Geralmente, bastaria o usuário do IIS ter as permissões na pasta.
Duas perguntas que ficaram pendentes de respostas:
- Você já tentou dar permissão total nesta pasta para todos (everyone)?
- A sua aplicação está tentando gravar em uma pasta no próprio servidor ou compartilhada em outro?
Se puder, posta o código que está com problema, para que possa estudá-lo também.
Abraços e boa sorte.
- Editado Diego Cotini quarta-feira, 24 de abril de 2013 16:27
-
Diego depois de muito verificar, o problema não é de permissão, pois nessa página faço uma conexão ao oracle e é de o result que trago, comentei o for que faço no result da consulta e coloquei para gravar uma informação fixa dentro do arquivo e ele criou o arquivo com a informação, por isso que eu disse anteriormente que ele gravava o arquivo mais nao tinha nada dentro dele.
Meu problema é como acessar o oracle 64x no windows 2008 server.
Junior
-
Certo... mas se ele está no mínimo criando o arquivo, é de se esperar que permissão de escrita ele tem...
Você consegue garantir que o problema é na gravação do arquivo e não em um fluxo posterior, cujos privilégios do LocalService são suficientes?
Tenta mudar o pool desta aplicação que está dando problema para LocalSystem (que tem permissão total) para fazer um teste.
Legal Junior,
Na citação acima até mencionei essa questão de ser outro problema, pois, estava muito esquisito você conseguir criar o arquivo se não tivesse permissão de escrita.
Achei que era falta de algum outro privilégio de alguma operação que estava realizando.
Bom, um problema a menos então (ou um novo agora)!
Nessa questão do Oracle não serei de muita utilidade.
Abraços.
-
Ele nao gera uma exception já tentei de tudo, nao queria formatar o servidor e colocar o windows 2008 server 32 bits pq ele não reconhece o total de memória que tem o servidor por isso coloquei o 64 bits, mais acho que como esse meu sistema é na framework 3.5 acho que ela não tem provider para o oracle 64 bits. Já tentei inúmeras strings de conexão e nenhuma dá certo.
No meu micro executa pq o windows é 32 bits.
Junior
-
-