Benutzer-Werkzeuge

Webseiten-Werkzeuge


open:it:apache

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
open:it:apache [2026/04/26 17:06] k@iopen:it:apache [2026/04/27 20:15] (aktuell) – [Eingeschränkter Zugang] k@i
Zeile 31: Zeile 31:
 Betroffene User in die Gruppe aufnehmen Betroffene User in die Gruppe aufnehmen
   sudo usermod -aG web <USER>   sudo usermod -aG web <USER>
 +
  
 Rechte vergeben Rechte vergeben
Zeile 39: Zeile 40:
   sudo find /var/www/sites -type f -exec chmod 664 {} \;   sudo find /var/www/sites -type f -exec chmod 664 {} \;
  
-Testen, ob nur root Rechte auf alle Ebenen hat (Muss sein)+Testen, ob nur root Rechte auf alle Ebenen hat (sollte sein)
   namei -l /var/www/sites/   namei -l /var/www/sites/
  
Zeile 53: Zeile 54:
  
 Der FTP-Zugang sollte nur als SFTP zugelassen werden und wird konfiguriert über [[ssh|SSH-Verbindungen]]. Der FTP-Zugang sollte nur als SFTP zugelassen werden und wird konfiguriert über [[ssh|SSH-Verbindungen]].
 +
 +==== Eingeschränkter Zugang ====
 +Soll ein Kunde/Anwender eingeschränkte Rechte für eine oder mehrere Webseiten erhalten, kann dies wie folgt eingerichtet werden. \\
 +
 +Anwender Y => <ANY>
 +
 +User anlegen, siehe auch [[user|Linux-Benutzerverwaltung]]
 +  sudo useradd -M -s /usr/sbin/nologin <ANY>
 +-s = Shell entfernen, kein Zugriff über SSH.
 +
 +Passwort vergeben
 +  sudo passwd <ANY>
 +
 +Web-Gruppe zuordnen
 +  sudo usermod -aG web <ANY>
 +  
 +Anstelle des Passwort-Zugriffs kann dies auch mit einem [[ssh#SSH-Schlüssel|SSH-Schlüssel]] erfolgen. Dazu den öffentlichen Schlüssel in der Datei /home/<ANY>/.ssh/authorized_keys registrieren bzw. hinterlegen.
 +Wird der User wie hier beschrieben angelegt, wird sein Home-Verzeichnis nicht automatisch mit angelegt. Das muss dann manuell erfolgen. Erforderlich, auch wenn der User später keinen Zugriff darauf haben wird. \\
 +Rechte für das Verzeichnis setzen:
 +  sudo chown -R <ANY>:<ANY> /home/<ANY>/.ssh
 +
 +  sudo chmod 700 /home/<ANY>/.ssh
 +
 +  sudo chmod 600 /home/<ANY>/.ssh/authorized_keys
 +
 +Hier wird der User eingesperrt: \\
 +Chroot-Verzeichnis anlegen
 +  sudo mkdir -p /sftp-chroot/<ANY>/webseite_1
 +
 +  sudo chown root:root /sftp-chroot
 +
 +  sudo chmod 755 /sftp-chroot
 +
 +  sudo chown root:root /sftp-chroot/<ANY>
 +
 +  sudo chmod 755 /sftp-chroot/<ANY>
 +
 +Einbinden
 +  sudo mount --bind /var/www/sites/<WEBSEITENDATEIEN> /sftp-chroot/<ANY>/webseite1
 +
 +Dauerhaft machen
 +  sudo nano /etc/fstab
 +
 +  /var/www/sites/<WEBSEITENDATEIEN> /sftp-chroot/<ANY>/webseite1 none bind 0 0
 +
 +
 +SSH für jeden User mit eingeschränkten Rechten extra konfigurieren
 +  sudo nano /etc/ssh/sshd_config
 +
 +<WRAP important>
 +ACHTUNG:
 +Niemals folgendes für den **__Hauptuser/Admin__** konfigurieren. 
 +Das Ziel wäre: Einen Landungspunkt definieren, was klappt, aber
 +das sperrt den SSH-Zugang und nur noch SFTP ist möglich!! 
 +Und damit keine sudo-Aktivitäten mehr.
 +  Match User <ANY>
 +    ForceCommand internal-sftp -d /var/www/sites
 +</WRAP>
 +
 +Einrichtung mit Password
 +  Match User <ANY>
 +    PasswordAuthentication yes
 +    PubkeyAuthentication no
 +    ChrootDirectory /sftp-chroot/<ANY>
 +    ForceCommand internal-sftp -d /web
 +    AllowTcpForwarding no
 +    X11Forwarding no
 +
 +Einrichtung mit Key-Zugriff
 +  Match User <ANY>
 +    PasswordAuthentication no
 +    PubkeyAuthentication yes
 +    ChrootDirectory /sftp-chroot/<ANY>
 +    ForceCommand internal-sftp -d /web
 +    AllowTcpForwarding no
 +    X11Forwarding no
 +
 +Syntax des Ports überprüfen
 +  sudo sshd -t
 +
 +Restart
 +  sudo systemctl restart ssh
 ===== Webseiten & virtueller Host ===== ===== Webseiten & virtueller Host =====
 Verzeichnis für die HTML-Daten anlegen Verzeichnis für die HTML-Daten anlegen
open/it/apache.1777215966.txt.gz · Zuletzt geändert: von k@i