Jaki będzie zalecany sposób zapewnienia, że instancja Tomcat7 działa jako użytkownik tomcat7 (lub jakikolwiek inny)?
Przypuszczam, że mogę modyfikować tomcat7-instance/bin/startup.sh
i tomcat7-instance/bin/shutdown.sh
dodawać „su tomcat7” u góry.
W Tomcat6 myślę, że była to zmienna środowiskowa TOMCAT6_USER
.
Odpowiedzi:
Najczęstszym sposobem jest instalacja standardowego
tomcat7
pakietuapt-get
i uruchomienie go przy użyciu:Domyślny użytkownik i grupa są skonfigurowane,
/etc/default/tomcat7
jak widać w tym fragmencie:źródło
/etc/default/tomcat7
?EDYCJA: Przeczytaj komentarze poniżej! To rozwiązanie może nie mieć zastosowania we wszystkich sytuacjach.
Przyjęta odpowiedź jest świetna, ale odkąd uruchamiam Tomcat 7 na Ubuntu 14.04, musiałem zrobić kilka dodatkowych rzeczy, aby wszystko działało:
/etc/default/tomcat7
. Po zmianie użytkownika i grupy nie będzie już możliwe zatrzymanie usługi przy użyciu starego użytkownika.Zmień użytkownika i grupę w pliku
/etc/default/tomcat7
Musisz zmienić własność folderu
/var/log/tomcat7
i wszystkich jego plików. Należy pamiętać, że zaletą jest utrzymanie grupy adm, aby wszyscy użytkownicy adm mogli czytać dzienniki.sudo chown -R newuser:adm /var/log/tomcat7
Zmień własność folderu
/var/lib/tomcat7/webapps
sudo chown -R newuser:newgroup /var/lib/tomcat7/webapps
Jeśli działa na porcie 80/443 na Ubuntu 14.04, musisz zmienić własność plików authbind:
sudo chown newuser /etc/authbind/byport/80
sudo chown newuser /etc/authbind/byport/443
Zmień własność folderu roboczego
sudo chown newuser:adm /var/cache/tomcat7
sudo chown -R newuser:newgroup /var/cache/tomcat7/Catalina
Udostępnij pliki konfiguracyjne. Masz dwie opcje: Dodaj nowego użytkownika do grupy tomcat7 według:
sudo usermod -a -G tomcat7 newuser
... lub zmień własność plików konfiguracyjnych:
sudo chown -R :newgroup /var/lib/tomcat7/conf/*
Jeśli masz inne pliki, do których mają dostęp twoje aplikacje internetowe, takie jak pliki konfiguracyjne plików dziennika itp., Musisz również zmienić ich własność.
EDYCJA 2: Po aktualizacji do tomcat 8 i Ubuntu 18.04 pojawił się kolejny problem podczas uruchamiania tomcat jako inny użytkownik. W skrypcie
/etc/init.d/tomcat8
następujący wiersz wydaje się zmieniać folder domowy użytkownika tomcat, ale wynik nie jest tym, czego chcesz, jeśli używasz innego użytkownika.Usuwając lub komentując ten wiersz, możesz uniknąć zmiany folderu domowego dla nowego użytkownika tomcat.
źródło