Puncte:1

Tomcat 9 pe portul 443 lucrează doar cu root care poate fi dăunător

drapel bw

După atâtea citiri ale articolelor serverfault.com, mi-am configurat cu succes tomcat-ul 9 pe portul 443.

Dar problema este că 443 este un port privilegiat în care am adăugat utilizatorul root în mai jos tomcat.service, dar cum pot evita acest lucru, deoarece vreau să dau permisiunea utilizatorului Tomcat pentru un singur serviciu. Sper că înțelegeți problema mea și îmi veți sfătui cel mai bun răspuns.

vim /etc/systemd/system/tomcat.service


[Unitate]
Descriere=Container de servlet Tomcat 9
După=rețea.țintă

[Serviciu]
Tip = bifurcare



############## Am adăugat utilizatorul root aici #########################
**Utilizator=rădăcină
Group=root**

Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh

[Instalare]
WantedBy=multi-user.target
vidarlo avatar
drapel ar
Poate doriți să aruncați o privire la, de ex. https://unix.stackexchange.com/questions/187726/how-do-daemons-like-apache-or-bind-open-ports-below-1024
drapel bw
Este foarte limitat și are un răspuns incomplet, deoarece am citit deja articolul, de aceea am scris altul pentru îndrumări și soluții complete.
drapel bw
oricine poate răspunde la această așteptare
drapel jm
De ce utilizarea capabilităților root nu se aplică situației dvs.?
drapel jm
Există și [configurație Tomcat 9 pentru portul 443](https://serverfault.com/questions/969191/tomcat-9-configuration-for-port-443?rq=1)
drapel bw
Nu funcționează deloc Am încercat toate metodele de mai sus de la 5 zile, dar nu am avut noroc.
drapel bw
Serviciul Tomcat 9 funcționează bine cu utilizatorul tomcat și grupul tomcat, dar problema este că cu tomcat 443 portul nu se deschide, dar când am adăugat root portul se deschide.
drapel bw
https://superuser.com/questions/710253/allow-non-root-process-to-bind-to-port-80-and-443 acesta este adresa URL de care am nevoie, dar acesta este încă un răspuns incomplet, poate cineva să mă ghideze în detaliu, cum pot folosi net_cap pentru Tomcat 443
Puncte:1
drapel cz

Puteți rula Tomcat (sau orice altceva) ca non-root și încă vă legați la porturile de sistem dacă ați acordat setul de capabilități CAP_NET_BIND_SERVICE. Puteți face acest lucru în unitatea dvs. de sistem adăugând AmbientCapabilities= în [Serviciu] secțiune:

AmbientCapabilities=CAP_NET_BIND_SERVICE

Evident, va trebui să eliminați Utilizator= și Grup=.

De asemenea, ar trebui să luați în considerare utilizarea NoNewPrivileges=adevărat pentru a restricționa aplicația să-și ridice privilegiile.

drapel bw
Apreciat! Dragă Michael Hampton, după ce v-am urmat instrucțiunile, problema mea s-a rezolvat, aș dori să vă mulțumesc pentru că am înțeles problema și pentru dedicarea dumneavoastră pentru această problemă. Multumesc foarte mult.
Michael Hampton avatar
drapel cz
@Noor Mulțumesc! Puteți să o marcați ca fiind rezolvată făcând clic pe conturul semnului de bifare, astfel încât să devină verde continuu.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.