web-dev-qa-db-fra.com

Problèmes de permission avec tomcat

J'ai installé Tomcat 7 en suivant le guide Ubunt . Le serveur fonctionne et me donne le "ça marche!" page sur http://localhost:8080/.

Maintenant, je veux configurer ma propre application Web à l'aide de Netbeans. J'ai généré un nouveau projet Web avec Java EE 6 et Tomcat 7. L'utilisateur se trouve dans le fichier /var/lib/Tomcat7/conf/Tomcat-users.xml correctement configuré.

Lorsque je lance le projet, tout semble aller pour le mieux, mais lorsque j'ouvre le navigateur, il affiche ne erreur de 5 .

  • Le sortie Tomcat mentionne des erreurs d'autorisation tentant d'accéder à Tomcat7/logs et
  • Le journaux IDE tente d'accéder à Tomcat7/conf.

Permissions des fichiers:

lucio@lucio-pc:/$ ll /var/lib/Tomcat7/logs
lrwxrwxrwx 1 root root 17 jul 24 18:07 /var/lib/Tomcat7/logs -> ../../log/Tomcat7/
lucio@lucio-pc:/$ ll /var/log/Tomcat7/
total 136
drwxr-x---  2 Tomcat7 adm      4096 ago 28 10:50 ./
drwxrwxr-x 15 root    syslog   4096 ago 28 09:29 ../
-rw-r--r--  1 Tomcat7 Tomcat7   800 ago 26 17:23 catalina.2014-08-26.log.gz
-rw-r--r--  1 Tomcat7 Tomcat7  5173 ago 27 21:59 catalina.2014-08-27.log
-rw-r--r--  1 Tomcat7 Tomcat7 31285 ago 28 10:36 catalina.2014-08-28.log
-rw-r--r--  1 Tomcat7 root    44192 ago 28 10:36 catalina.out
-rw-r--r--  1 Tomcat7 Tomcat7    45 ago 26 16:19 localhost.2014-08-26.log.gz
-rw-r--r--  1 Tomcat7 Tomcat7     0 ago 27 11:15 localhost.2014-08-27.log
-rw-r--r--  1 Tomcat7 Tomcat7   433 ago 28 09:49 localhost.2014-08-28.log
-rw-r--r--  1 Tomcat7 Tomcat7  7435 ago 26 17:23 localhost_access_log.2014-08-26.txt
-rw-r--r--  1 Tomcat7 Tomcat7     0 ago 27 11:15 localhost_access_log.2014-08-27.txt
-rw-r--r--  1 Tomcat7 Tomcat7 15186 ago 28 09:58 localhost_access_log.2014-08-28.txt

Je ne comprends pas pourquoi il est impossible d'accéder aux fichiers. Vous pouvez voir que l'utilisateur et le groupe Tomcat7 ont des autorisations sur les fichiers. Existe-t-il un utilisateur de la machine virtuelle qui a besoin de privilèges sur les fichiers?

J'ai également essayé de changer les propriétaires de fichiers comme mentionné ici mais cela ne change pas du tout.


Le fichier /etc/default/Tomcat7 a:

Tomcat7_USER=Tomcat7
Tomcat7_GROUP=Tomcat7

Donc, je suppose qu’il s’exécute en tant qu’utilisateur Tomcat7.


J'ai ajouté mon utilisateur au groupe Tomcat7:

Sudo usermod -aG Tomcat7 $USER

Et puis redémarré la machine, mais le problème persiste.

9
Lucio

J'ai remarqué deux problèmes ici.

Deux lignes du journal des erreurs me sont apparues:

SEVERE: Cannot find specified temporary folder at /var/lib/Tomcat7/temp  

et:

Java.io.FileNotFoundException: /var/lib/Tomcat7/conf/Tomcat-users.xml (Permission denied)

faisant un peu de diagnostic avec Lucio , j'ai découvert que le fichier Tomcat-users.xml n'appartenait pas à Tomcat, mais plutôt à root. Modifiez les autorisations en utilisant la commande suivante:

Sudo chown Tomcat7:Tomcat7 /var/lib/Tomcat7/conf/Tomcat-users.xml

Créez également le dossier /var/lib/Tomcat7/temp avec les autorisations Tomcat, comme suit:

Sudo mkdir /var/lib/Tomcat7/temp && Sudo chown -R Tomcat7:Tomcat7 /var/lib/Tomcat7/temp

Enfin, la correction des journaux doit être effectuée en attribuant à /var/lib/Tomcat7/logs la propriété de l’utilisateur/du groupe Tomcat7. Le /var/log/Tomcat7/ devrait également appartenir au Tomcat7 user AND group.

9
Kaz Wolfe