Wie wird empfohlen, um sicherzustellen, dass eine Tomcat7-Instanz als Tomcat7-Benutzer (oder ein anderer Benutzer) ausgeführt wird?
Ich nehme an, ich kann 'su tomcat7' oben ändern tomcat7-instance/bin/startup.sh
und tomcat7-instance/bin/shutdown.sh
hinzufügen.
In Tomcat6 war es meiner Meinung nach die Umgebungsvariable TOMCAT6_USER
.
Antworten:
Am häufigsten installieren Sie das Standardpaket
tomcat7
mitapt-get
und starten es mit:Der Standardbenutzer und die Standardgruppe sind in konfiguriert,
/etc/default/tomcat7
wie Sie in diesem Auszug sehen können:quelle
/etc/default/tomcat7
?EDIT: Bitte lesen Sie die Kommentare unten! Diese Lösung ist möglicherweise nicht in allen Situationen anwendbar.
Die akzeptierte Antwort ist großartig, aber da ich Tomcat 7 unter Ubuntu 14.04 ausführe, musste ich einige zusätzliche Dinge tun, um alles zum Laufen zu bringen:
/etc/default/tomcat7
. Sobald Sie den Benutzer und die Gruppe geändert haben, kann ein Dienst mit dem alten Benutzer nicht mehr gestoppt werden.Ändern Sie den Benutzer und die Gruppe in der Datei
/etc/default/tomcat7
Sie müssen den Besitz des Ordners
/var/log/tomcat7
und aller seiner Dateien ändern . Bitte beachten Sie, dass es von Vorteil ist, die Adm-Gruppe beizubehalten, damit alle Adm-Benutzer die Protokolle lesen können.sudo chown -R newuser:adm /var/log/tomcat7
Ändern Sie den Besitz des Ordners
/var/lib/tomcat7/webapps
sudo chown -R newuser:newgroup /var/lib/tomcat7/webapps
Wenn Sie unter Ubuntu 14.04 auf Port 80/443 ausgeführt werden, müssen Sie den Besitz der authbind-Dateien ändern:
sudo chown newuser /etc/authbind/byport/80
sudo chown newuser /etc/authbind/byport/443
Ändern Sie den Besitz des Arbeitsordners
sudo chown newuser:adm /var/cache/tomcat7
sudo chown -R newuser:newgroup /var/cache/tomcat7/Catalina
Konfigurationsdateien lesbar machen. Hier haben Sie zwei Möglichkeiten: Fügen Sie entweder Ihren neuen Benutzer zur tomcat7-Gruppe hinzu, indem Sie:
sudo usermod -a -G tomcat7 newuser
... oder den Besitz der Konfigurationsdateien ändern:
sudo chown -R :newgroup /var/lib/tomcat7/conf/*
Wenn Sie über andere Dateien verfügen, auf die Ihre Web-Apps zugreifen, z. B. Konfigurationsdateien für Protokolldateien usw., müssen Sie auch den Besitz dieser Dateien ändern.
BEARBEITEN 2: Nach dem Upgrade auf Tomcat 8 und Ubuntu 18.04 trat ein weiteres Problem auf, wenn Tomcat als anderer Benutzer ausgeführt wurde. Im Skript
/etc/init.d/tomcat8
scheint die folgende Zeile den Home-Ordner des Tomcat-Benutzers zu ändern, aber das Ergebnis ist nicht das, was Sie wollen, wenn Sie einen anderen Benutzer verwenden.Durch Entfernen oder Kommentieren dieser Zeile können Sie vermeiden, dass der Basisordner für den neuen Tomcat-Benutzer geändert wird.
quelle