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 20:03] 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>
-ACHTUNG: Soll ein User nur begrenzte Zugriffsrechte erhalten, siehe [[#FTP-Zugang|FTP-Zugang]], darf dieser hier nicht aufgenommen werden.\\+
  
 Rechte vergeben Rechte vergeben
Zeile 40: 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 55: Zeile 55:
 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. \\ Soll ein Kunde/Anwender eingeschränkte Rechte für eine oder mehrere Webseiten erhalten, kann dies wie folgt eingerichtet werden. \\
  
 Anwender Y => <ANY> Anwender Y => <ANY>
  
-User anlegen+User anlegen, siehe auch [[user|Linux-Benutzerverwaltung]]
   sudo useradd -M -s /usr/sbin/nologin <ANY>   sudo useradd -M -s /usr/sbin/nologin <ANY>
 +-s = Shell entfernen, kein Zugriff über SSH.
 +
 Passwort vergeben Passwort vergeben
   sudo passwd <ANY>   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 Chroot-Verzeichnis anlegen
-  sudo mkdir -p /sftp-chroot/<ANY>+  sudo mkdir -p /sftp-chroot/<ANY>/webseite_1
  
   sudo chown root:root /sftp-chroot   sudo chown root:root /sftp-chroot
Zeile 75: Zeile 91:
   sudo chmod 755 /sftp-chroot/<ANY>   sudo chmod 755 /sftp-chroot/<ANY>
  
-  sudo mkdir /sftp-chroot/<ANY>/webseite1 
 Einbinden Einbinden
   sudo mount --bind /var/www/sites/<WEBSEITENDATEIEN> /sftp-chroot/<ANY>/webseite1   sudo mount --bind /var/www/sites/<WEBSEITENDATEIEN> /sftp-chroot/<ANY>/webseite1
Zeile 84: Zeile 99:
   /var/www/sites/<WEBSEITENDATEIEN> /sftp-chroot/<ANY>/webseite1 none bind 0 0   /var/www/sites/<WEBSEITENDATEIEN> /sftp-chroot/<ANY>/webseite1 none bind 0 0
  
-Rechte vergeben 
-  sudo usermod -aG web <ANY> 
  
-  sudo usermod -s /usr/sbin/nologin <ANY> +SSH für jeden User mit eingeschränkten Rechten extra konfigurieren
- +
-SSH konfigurieren+
   sudo nano /etc/ssh/sshd_config   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>   Match User <ANY>
     PasswordAuthentication yes     PasswordAuthentication yes
Zeile 100: Zeile 122:
     X11Forwarding 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   sudo sshd -t
  
 +Restart
   sudo systemctl restart ssh   sudo systemctl restart ssh
 ===== Webseiten & virtueller Host ===== ===== Webseiten & virtueller Host =====
open/it/apache.1777226583.txt.gz · Zuletzt geändert: von k@i