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:04] 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
Zeile 190: Zeile 273:
 Zertifikat löschen Zertifikat löschen
   sudo certbot delete   sudo certbot delete
- 
-===== Weitere Domains ===== 
-Hier als Beispiel die Subdomain für das wiki > https://wiki.BLUEGNU.DE \\ 
-Verzeichnis für die Daten anlegen 
-  sudo mkdir /var/www/sites/wiki.BLUEGNU.DE 
- 
-Die Programm-Dateien können dann mit einem FTP-Programm übertragen werden. 
- 
-Apache-Konfiguration virtueller Host der Domain 
-  sudo nano /etc/apache2/sites-available/wiki.BLUEGNU.DE.conf 
- 
-  <VirtualHost *:80> 
-    ServerName wiki.BLUEGNU.DE 
-    ServerAdmin email@BLUEGNU.DE 
-    DocumentRoot /var/www/sites/wiki.BLUEGNU.DE 
-    ErrorLog ${APACHE_LOG_DIR}/error.log 
-    CustomLog ${APACHE_LOG_DIR}/access.log combined 
-    <Directory /var/www/sites/wiki.BLUEGNU.DE> 
-      Options Indexes FollowSymLinks MultiViews 
-      AllowOverride All 
-      Order allow,deny 
-      allow from all 
-    </Directory> 
-  </VirtualHost> 
- 
-Virtuellen Host im Apache-Web-Server registrieren 
-  sudo a2ensite wiki.BLUEGNU.DE.conf 
-Einstellungen für den Apacheserver testen 
-  sudo apache2ctl configtest 
-Wenn Test ok, dann alles aktivieren 
-  sudo systemctl reload apache2 
-SSL-Zertifikat registrieren 
-  sudo certbot --apache 
  
open/it/apache.1777215840.txt.gz · Zuletzt geändert: von k@i