J'ai une application web sur tomcat6, qui est installée comme un service dans un WinServer (2008 ou 2003r2, je ne suis pas sûr, les gens ne m'ont pas laissé mettre la main dessus jusqu'à présent). Le service Tomcat fonctionne avec un compte de service particulier (non local, mais créé dans le contrôleur de domaine), différent du compte qui fait fonctionner le serveur.
Nous avons un contrôleur de domaine, donc nos utilisateurs sont toujours vérifiés par rapport à ActiveDirectory.
La webapp lit les fichiers d'un dossier dans un dossier partagé du réseau, qui comporte de nombreux sous-dossiers avec des restrictions particulières. Le sous-dossier désigné pour recevoir les fichiers est configuré pour autoriser le compte de service avec les autorisations suivantes
- Parcourir le dossier / exécuter le fichier
- Lire les articles
- Lire les attributs
- Lire les attributs ext.
- Créer des fichiers / écrire des données
- Créer des dossiers / annexer des données
- Attributs d'écriture
- Écriture des attributs ext.
- Supprimer
- Permissions de lecture
Et pourtant, ma webapp n'est pas en mesure d'atteindre le sous-dossier (qui se trouve juste en dessous du dossier racine du partage réseau), //fileServer/sharedRootFolder/myFolder
). Ce qui est amusant, c'est que si je fais pointer la webapp vers un sous-dossier que nous utilisons comme point commun pour le partage de fichiers entre tous les employés (par ex. //fileServer/sharedRootFolder/ourCommonFolder
), la webapp peut lire les fichiers. La même application Web exécutée à partir d'un Tomcat autonome (même version 6.x) sur mon poste de travail peut lire les deux endroits (elle est exécutée avec mon propre compte de domaine, qui a moins de droits sur le dossier "inaccessible").
Y a-t-il des paramètres de configuration supplémentaires pour l'utilisateur, le service Windows du serveur ou les autorisations dans le dossier dont je dois tenir compte ?
P.S. Je regarde les permissions données avec le clic droit - propriétés - données de sécurité.
EDIT。 Sur ce fil Si le compte de service basé sur le domaine a le droit d'accéder au sous-dossier que je souhaite sur le partage réseau (qui est situé sur un serveur différent, sur le même réseau local) et si le compte de service se connecter en tant que service lors du démarrage du service, que dois-je faire d'autre pour avoir effectivement accès au sous-dossier du partage réseau ? ???
EDIT2 : Le site //fileServer/sharedRootFolder/ourCommonFolder
a des permissions pour Tout le monde Je suppose donc qu'il s'agit d'un problème lié à la configuration du service, au compte de service basé sur le domaine qui le démarre et à la fonction "connexion en tant que service" ou quelque chose du genre.
EDIT3 : Aujourd'hui, nous avons configuré l'ouverture de session en tant que service pour le compte de service (qui était déjà un administrateur local dans le serveur) et cela ne fonctionne pas encore. Je suis à court d'idées...