Site icon bintorosoft.com

User/Group Setup: www-data, nginx und Deploy-Workflows

A cute penguin is standing on a table, holding a microphone and looking at the camera with a smile on its face.

Ein sauber eingerichtetes User- und Group-Setup ist entscheidend für die Sicherheit und den reibungslosen Betrieb von Webservern. Insbesondere der Webserver-Benutzer www-data unter Debian/Ubuntu oder nginx unter CentOS/RHEL steuert, welche Prozesse Zugriff auf Webinhalte haben. Dieser Leitfaden erklärt Einsteigern, IT-Studierenden und Junior Network Engineers, wie Benutzer und Gruppen korrekt konfiguriert werden, welche Berechtigungen sinnvoll sind und wie Deploy-Workflows auf einem sicheren Server implementiert werden.

Grundlagen von Linux-Benutzern und Gruppen

Jeder Prozess unter Linux läuft unter einem Benutzerkonto. Gruppen erleichtern die Verwaltung von Berechtigungen für mehrere Benutzer gleichzeitig. Typische Webserver-Benutzer:

Berechtigungsklassen

User/Group Setup für Webserver

Der Webserver-Benutzer sollte möglichst eingeschränkt sein, nur Zugriff auf notwendige Dateien haben und keinen direkten Login auf das System besitzen.

www-data Benutzer und Gruppe anlegen (falls nicht vorhanden)

sudo groupadd www-data
sudo useradd -g www-data -s /usr/sbin/nologin www-data

nginx Benutzer und Gruppe anlegen (falls nicht vorhanden)

sudo groupadd nginx
sudo useradd -g nginx -s /sbin/nologin nginx

Berechtigungen für Webroot

Die Dokumentenstämme sollten dem Webserver-Benutzer gehören, Dateien und Verzeichnisse sichere Rechte besitzen.

Beispiel für /var/www/html

sudo chown -R www-data:www-data /var/www/html
sudo find /var/www/html -type d -exec chmod 755 {} ;
sudo find /var/www/html -type f -exec chmod 644 {} ;

Besondere Dateien absichern

sudo chmod 600 /var/www/html/config.php
sudo chown www-data:www-data /var/www/html/config.php

Deployment-Workflows

Ein strukturierter Deployment-Workflow minimiert Ausfallzeiten und verhindert Sicherheitsprobleme.

Option 1: Git-basiertes Deployment

# Git Repository klonen
sudo -u deployuser git clone https://github.com/meinprojekt.git /var/www/html

Berechtigungen anpassen

sudo chown -R www-data:www-data /var/www/html
sudo find /var/www/html -type d -exec chmod 755 {} ;
sudo find /var/www/html -type f -exec chmod 644 {} ;

Option 2: CI/CD Deployment

Option 3: Shared Deploy-Ordner

mkdir -p /var/www/releases/current
chown -R www-data:www-data /var/www/releases
chmod -R 755 /var/www/releases

Automatisierung mit Skripten

Automatisierte Skripte stellen sicher, dass Berechtigungen, Gruppen und User nach jedem Deployment korrekt gesetzt werden.

# Beispiel deploy.sh
#!/bin/bash
cd /var/www/releases/current
chown -R www-data:www-data .
find . -type d -exec chmod 755 {} ;
find . -type f -exec chmod 644 {} ;
systemctl reload nginx

Netzwerk und Subnetze

Für IP-basierte Zugriffskontrolle oder Adminbereiche sollten Subnetze sauber definiert sein.

IPv4 Beispiel

<math>
Server-IP = 192.168.130.20/24
Subnetzadresse = 192.168.130.20 & 255.255.255.0 = 192.168.130.0
Broadcastadresse = 192.168.130.0 | ~255.255.255.0 = 192.168.130.255
</math>

IPv6 Beispiel

<math>
Server-IP = 2001:db8:abcd:130::20/64
Subnetzadresse = 2001:db8:abcd:130:: & ffff:ffff:ffff:ffff:: = 2001:db8:abcd:130::0
Broadcastadresse = 2001:db8:abcd:130:ffff:ffff:ffff:ffff
</math>

Best Practices

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Exit mobile version