Bei Nginx läuft der Hauptprozess immer als Root. Dies hat zwei Gründe:
- die Ports 80 und 443 dürfen nicht von normalen Benutzern verwendet werden
- der Zugriff auf SSL-Schlüssel ist normalen Nutzern meist verwehrt
Beide Beschränkungen kann man mit entsprechenden Einstellungen in dem Systemd-Service anpassen, aber den Zugriff auf die SSL-Schlüssel in allen Worker-Prozessen halte ich nicht für sinnvoll, weshalb ich besser Nginx als root laufen lasse.
[Service]
User=www-data
Group=www-data
SupplementaryGroups=ssl-cert
RuntimeDirectory=nginx
PIDFile=/run/nginx/nginx.pid
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
NoNewPrivileges=yes
Die Anpassungen in /etc/nginx/nginx.conf:
# user www-data;
pid /run/nginx/nginx.pid;