Blog

SFTP-only Zugriff ohne chroot und rssh

2014-04-28 | 1 minute read

Wer früher einen beschränkten SSH-Zugriff auf einem Server realisieren wollte, musste früher auf rssh und eine chroot-Umgebung zurückgreifen. Die Einrichtung war entsprechend aufwändig. Mit einer aktuellen Version von SSH kann man sich diese Arbeit sparen.

Vier Schritte sind notwendig, um einen Zugriff herzustellen:

  • Gruppen anlegen und User hinzufügen. In diesem Beispiel werden die beiden Gruppen groupA und groupB verwendet.
  • Verzeichnisse mit passenden Rechten einrichten:
        Verzeichnis          Rechte
    
    /srv
    ├── groupA               root:root
    │   └── files            groupA:groupA
    │       ├── test1.txt
    │       └── test2.txt
    ├── groupB               root:root
    │   └── files            groupA:groupA
    │       ├── test1.txt
    │       └── ...
    └── ...
  • Konfiguration des SSH-Servers anpassen. Für jede Gruppe muss ein eigener sog. Match-Block angelegt werden:
    Match Group groupA
      ChrootDirectory /srv/groupA
      AllowTCPForwarding no
      X11Forwarding no
      ForceCommand internal-sftp
    Match Group groupB
      ChrootDirectory /srv/groupB
      AllowTCPForwarding no
      X11Forwarding no
      ForceCommand internal-sftp

Nach einem Neustart des SSH-Dämons gelangt man mittels sftp in die jeweiligen Verzeichnisse, muss aber, bevor Dateien abgelegt werden können, in das Unterverzeichnis files wechseln, weil nur dort die entsprechenden Schreibrechte bestehen.