Lendo arquivos no compartilhamento de rede de um serviço do Windows (aplicativo sobre o tomcat como serviço)

4

Eu tenho um webapp sobre o tomcat6, que é instalado como um serviço em um WinServer (2008 ou 2003r2, não sei ao certo, as pessoas ainda não me deixaram passar a mão). O serviço Tomcat é executado com uma conta de serviço específica (não local, mas criada no controlador de domínio), diferente da conta que executa o servidor.

Temos um controlador de domínio, por isso nossos usuários sempre são verificados no ActiveDirectory.

A webapp lê arquivos de uma pasta em uma pasta compartilhada da rede, que tem muitas subpastas com restrições específicas. A subpasta designada para receber os arquivos é configurada para permitir a conta de serviço com as seguintes concessões

  • Ir até pasta / executar arquivo
  • Ler itens
  • atributos de leitura
  • Leia o ramal atributos
  • Criar arquivos / gravar dados
  • Criar pastas / anexar dados
  • Atributos de gravação
  • Escreva ext. atributos
  • Excluir
  • Permissões de leitura

Ainda assim, minha webapp não pode acessar a subpasta (que está logo abaixo da pasta raiz do compartilhamento de rede, //fileServer/sharedRootFolder/myFolder ). O engraçado é: se eu apontar o webapp para uma subpasta que usamos como um ponto comum para compartilhar arquivos entre todos os funcionários (por exemplo, //fileServer/sharedRootFolder/ourCommonFolder ), o webapp pode ler os arquivos. O mesmo webapp executado a partir de um Tomcat independente (mesma versão 6.x) na minha estação de trabalho pode ler os dois locais (executado com minha própria conta de domínio, que tem menos permissões sobre a pasta "inacessível").

Existem configurações adicionais para o usuário, o serviço do Windows no servidor ou as permissões na pasta que eu deveria estar ciente?

P.S. Eu estou olhando para as permissões dadas com o botão direito-- propriedades-- dados de segurança.

EDITAR: Em este encadeamento , o" logon como um serviço "é explicado, mas, se a conta de serviço baseada em domínio tiver direito de acessar minha subpasta desejada no compartilhamento de rede (que está localizado em um servidor diferente, mesma rede local) e a conta de serviço efetua logon como um serviço ao iniciar o serviço, o que mais devo fazer para ter acesso efetivo à subpasta de compartilhamento de rede ???

EDIT2: A pasta //fileServer/sharedRootFolder/ourCommonFolder tem permissões para Todos , por isso acho que aponta para algo com a configuração do serviço, a conta de serviço baseada em domínio a iniciar e o material "logon como um serviço" ou algo assim.

EDIT3: Hoje, configuramos 'logon como um serviço' para a conta de serviço (que já era um administrador local no servidor) e ainda não funciona. Ficando sem ideias ...

    
por Alfabravo 14.06.2012 / 00:31

1 resposta

1

Primeiramente, confirmo que o erro é, na verdade, uma falta de permissões de "usuário". Observe o arquivo de log (o diretório tomcat tem uma pasta chamada log) - o aplicativo pode fazer seu próprio log, senão erros são enviados ao fluxo de saída padrão - o console - que é normalmente redirecionado para um arquivo de texto .out na pasta de log .

Você pode fazer login no servidor como a conta de usuário que está executando o Tomcat? Você pode obter a pasta que você precisa do seu PC; você pode chegar lá do servidor? Precisamos identificar o problema antes que possamos resolvê-lo.

    
por 14.06.2012 / 23:22