Mam Linux-a udostępnianego przez różnych programistów. Chcą wdrożyć swoje pliki wojenne w apache tomcat, który znajduje się we wspólnej lokalizacji (/ opt / tomcat).
Ponieważ nie mają dostępu do sudo, muszę zmienić uprawnienia do folderu dla katalogu tomcat.
struktura katalogów /opt/tomcat
to -
bin/
conf/
lib/
logs/
temp/
webapps/
work/
Jakie są najlepsze praktyki w powyższej sytuacji - Najbardziej odpowiednie uprawnienia dostępu dla użytkownika? Na razie zmieniłem uprawnienia na 777 na aplikacje internetowe i dzienniki.
Dzięki
+s
ustawiono identyfikatora użytkownika / grupy? Strona podręcznika mówi, że+t
jest lepka.Non-Tomcat settings
Odcinek howto zabezpieczeń Tomcat dostarcza użytecznych informacji na ten temat. Spójrz tutaj:źródło
Musisz przestrzegać zasady najmniejszych przywilejów . Serwer (prawdopodobnie
www-data
, ale trzeba to sprawdzić) musi być w stanie odczytać większość plików (powiedzmy wszystko) i zapisać tylko w dziennikach. Programiści mogą pisać tam, gdzie potrzebują. Ustaw lepki bit w katalogach, aby tylko właściciel pliku mógł go usunąć.W praktyce musisz utworzyć grupę (na przykład
webdev
) i dodać do niej wszystkich programistów i serwer (usermod -aG webdev <user>
lub wusermod -A webdev <user>
zależności od gustu Linuksa).chown
wszystkie pliki i katalog dla użytkownika serwera WWW, chmod wszystkie katalogi do 500 i wszystkie pliki do 400 (z wyjątkiembin
przypadków, w których pliki wykonywalne również muszą mieć wartość 500).Przyznaj uprawnienia
/opt/tomcat
do zapisu grupie (byłoby to 570) i ustaw bit lepki, aby mogli usuwać tylko pliki, które są ich własnością (chmod 1570). Przyznaj serwerowi prawo zapisu do dzienników i uprawnienia do odczytu dla programistów (0740 dla folderu, 0640 dla plików, lepki bit prawdopodobnie nie jest konieczny i nigdy nie udzielaj go plikowi, tylko folderom, ponieważ ma inne znaczenie (wykonaj z uprawnieniami właściciela, gdy plik jest wykonywalny)).Następnie musisz udzielić uprawnień do zapisu (1570)
webdev
w niektórych katalogach. Będziesz potrzebować trochę prób i błędów tutaj, a to może zależeć od aplikacji. Tymi folderami musi być 1570, a niektóre inne 0500).Deweloperzy będą musieli przyznać grupie dostęp do odczytu swoich plików, aby serwer mógł je odczytać (to jest 640), a także wykonać katalogi (to jest 750).
źródło
Myślę, że zaakceptowana odpowiedź @ intropedro jest dobra. Warto zauważyć, że użycie instalatora pakietów może zaoszczędzić wiele problemów - przynajmniej dla Tomcat 7 na Ubuntu
apt-get install tomcat7
produkuje bardziej „standardowy” zestaw katalogów instalacyjnych:/etc/tomcat7
dla plików konfiguracyjnych/var/lib/tomcat7
dla bibliotek podstawowych oraz/usr/share/tomcat7
dla udostępnionych zasobów.Wszystkie uprawnienia są skonfigurowane poprawnie z zasadą najmniejszych uprawnień, tak że dodanie użytkowników do grupy
tomcat7
jest wystarczające, aby umożliwić wdrożenie. Ponadto serwer tomcat jest skonfigurowany jako usługa, którą można uruchamiać i zatrzymywać jak inne (np.sudo service tomcat start
Lub alternatywnie/etc/init.d/tomcat start
). Tomcat uruchamia się automatycznie po ponownym uruchomieniu komputera i pojawia się polecenie „restart”. Jestem pewien, że istnieje równoważny pakiet yum dla użytkowników RHEL / CentOS. (I tak, jest instalator homebrew dla lokalnych instalacji OSX).Jeśli masz problemy, w przyjemnym narzędziu o
/usr/share/bin
nazwieconfigtest.sh
raporty, jeśli są uprawnienia lub inne błędy. Uwaga: istnieje otwarty błąd, który sugeruje dodanie niektórych dowiązań symbolicznych .Nadal działamy Ubuntu
trusty
(14.04); dla tych z nowszymi wersjami uważam, że istnieje repozytorium apt-get Tomcat 8.źródło