Verwaltungshandeln

Verwaltungshandeln muss stehts rechtmäßig, jedoch nicht unbedingt sinnvoll sein!
– Ja, das Gefühl kenne ich 🤡🤣

Verwaltungshandeln muss immer rechtmäßig sein („Gesetzmäßigkeit der Verwaltung“).
Es muss nicht immer sinnvoll im Sinne von zweckmäßig oder optimal erscheinen, solange es sich im Rahmen des Gesetzes bewegt.
Die Kontrolle der Sinnhaftigkeit (Zweckmäßigkeit) ist in der Regel keine Aufgabe der Gerichte, sondern der politischen oder verwaltungsinternen Kontrolle.

Duplicati-Backup auf dem Raspi mit SFTP speichern

🧰 Voraussetzungen

  • Raspberry Pi läuft mit SSH-Server (`openssh-server`)
  • SSD ist bereits gemountet unter `/media/san2tb`
  • Dein Client (der Duplicati ausführt) ist Linux

🔐 1. SSH-Schlüsselpaar auf dem Client erstellen

Auf dem Rechner, auf dem Duplicati läuft, wird ein Schlüsselpaar erstellt

ssh-keygen -t ed25519 -f ~/.ssh/sftpusr_key -N ""

Ergebnis:
Private Key: `~/.ssh/sftpusr_key`
Öffentlicher Key: `~/.ssh/sftpusr_key.pub`

Der Parameter `-N „“` sorgt für kein Passwort.

👤 2. Neuen Benutzer auf dem Raspberry Pi erstellen

Optional: Verhindere SSH-Login mit Passwort:

sudo adduser --disabled-password --gecos "" sftpusr
sudo passwd -l sftpusr 
# sudo usermod -d /home/sftpusr sftpusr 
sudo usermod -s /usr/sbin/nologin sftpusr

🔑 3. SSH-Zugang mit Schlüssel einrichten

1. Verzeichnisse erstellen:

sudo mkdir -p /home/sftpusr/.ssh
sudo chown sftpusr:sftpusr /home/sftpusr/.ssh
sudo chmod 700 /home/sftpusr/.ssh

2. Öffentlichen Schlüssel auf Pi übertragen:

ssh-copy-id -i ~/.ssh/sftp_user_key.pub sftp-user@raspi

Oder manuell:

cat ~/.ssh/sftpusr_key.pub | ssh pi@ "sudo tee /home/sftpusr/.ssh/authorized_keys"
sudo chown sftpusr:sftpusr /home/sftpusr/.ssh/authorized_keys
sudo chmod 600 /home/sftpusr/.ssh/authorized_keys

📁 4. Schreibrechte auf externe SSD einrichten

Angenommen, das Backup-Ziel ist: `/media/san2tb/backup_x13g3`

Ordner erstellen und Besitzerrechte auf `sftpusr` ändern:

sudo mkdir -p /media/san2tb/backup_x13g3
sudo chown -R sftpusr:sftpusr /media/san2tb/backup_x13g3

`sftpusr` braucht Schreibrechte in diesem Ordner – ohne Zugriff auf andere SSD-Bereiche.

🔐 5. Optional: Nur SFTP (kein SSH-Terminal)

Den User auf reines SFTP einschränken. Das ist empfohlen für Backup-Ziele. SSH-Konfiguration auf dem Pi anpassen:

sudo nano /etc/ssh/sshd_config

Am Ende einfügen:

Match User sftpusr
    ForceCommand internal-sftp
    ChrootDirectory /home/sftpusr
    PermitTTY no
    AllowTcpForwarding no
    X11Forwarding no

Das sperrt `sftpusr` in `/home/sftpusr`. Dann muss das Backup-Verzeichnis darin sein.

⚠️ WICHTIG:
`ChrootDirectory` muss root gehören, sonst funktioniert SFTP nicht.

sudo chown root:root /home/sftpusr
sudo chmod 755 /home/sftpusr

sudo mkdir -p /home/sftpusr/backup
sudo chown sftpusr:sftpusr /home/sftpusr/backup

Temporär zum testen:

sudo mount --bind /media/san2tb/backup_x13g3 /home/sftpusr/backup

sudo systemctl restart ssh

Mount dauerhaft via /etc/fstab einbinden.
Am Ende der Datei einfügen:

/media/san2tb/backup_x13g3 /home/sftpusr/backup none bind 0 0

🔄 6. In Duplicati einrichten

Neues Backup erstellen

  1. Zieltyp: `SFTP (SSH)`
  2. Server und Pfad:
    Server: IP des Raspberry Pi
    Pfad:
    Wenn `ChrootDirectory` gesetzt: /backup
    Sonst (z. B. ohne Chroot): /home/sftpusr/backup
  3. Authentifizierung:
    Benutzername: sftpusr
    Passwort: bleibt leer
    SSH Private Key (ohne Passphrase):
    Lade `/source/.ssh/sftpusr_key` hoch oder kopiere den Inhalt rein.
  4. Testverbindung klicken

✅ Fertig!