BSD-Wiki

Mitschrift einer FreeBSD-Installation

Benutzer-Werkzeuge

Webseiten-Werkzeuge


sftp_fuer_bestimme_benutzer

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

sftp_fuer_bestimme_benutzer [2017/10/02 13:40]
sftp_fuer_bestimme_benutzer [2017/10/02 13:40] (aktuell)
Zeile 1: Zeile 1:
 +====== Allgemein ======
 +Hin und wieder kommt es vor, dass man einem bestimmten Benutzer erlauben möchte Daten auf oder von einem Server zu kopieren. Hierfür kann klassisch **ftp** verwendet werden. Das Problem bei **ftp** ist jedoch, dass die Kommunikation unverschlüsselt abläuft und somit auf dem Netzwerk mit gelesen werden kann. Um dies zu vermeiden kann entweder ein FTP-Server eingesetzt werden welcher SSL-Verschlüsselung unterstützt (hierzu ist dann natürlich auch ein SSL-Zertifikat notwendig), oder einfach auf den **SSH**-internen ftp-Server aufsetzen.
 +
 +====== Benutzer anlegen ======
 +Zunächst muss der Benutzer auf dem System angelegt werden. Sollte dies noch nicht geschehen sein kann es mit //adduser// erfolgen.
 +
 +====== Verzeichnis anlegen ======
 +Der Benutzer soll in einem Verzeichnis eingesperrt werden. Das heißt, dass er lediglich in dem übergebenen Verzeichnis (und darunter) navigieren und agieren darf. In diesem Fall soll dies das Verzeichnis ///​usr/​local/​sftp-share//​ sein. Das Verzeichnis muss angelegt und mit den richtigen Rechten versehen werden. So muss es dem Benutzer **root** gehören, und nur er darf darauf Schreibrechte haben.
 +<​code>​
 +drwxr-xr-x ​  4 root  wheel   512B Nov 10 15:14 sftp-share
 +</​code>​
 +Falls der Benutzer auch auf den Server schreiben können soll muss innerhalb dieses Ordners dann nochmals ein Ordner angelegt werden in welchem der Benutzer Schreibrechte. Somit ist nach dem Einloggen der Hauptordner nur lesend zugreifbar.
 +
 +====== sftp für Benutzer aktivieren ======
 +Ein Benutzer mit SSH-Zugang hat automatisch auch SFTP-Zugang. Hier geht es nun darum einen Benutzer ohne SSH-Zugang so einzuschränken,​ dass es ausschließlich per SFTP Daten kopieren kann.
 +
 +
 +Hierzu wird die Datei ///​etc/​ssh/​sshd_config//​ bearbeitet:
 +
 +Wird eine **AllowUsers**-Anweisung verwendet muss der Benutzer hier ergänzt werden.
 +
 +Um nun im Folgenden dem Benutzer **narf** Zugriff auf das Verzeichnis **/​usr/​local/​sftp-share** zu geben wird **ans Ende der sshd_config** folgendes ergänzt:
 +<​code>​
 +Match User narf
 +    X11Forwarding no
 +    AllowTcpForwarding no
 +    PasswordAuthentication yes
 +    ChrootDirectory /​usr/​local/​sftp-share
 +    ForceCommand internal-sftp
 +</​code>​
 +
 +Um den Zugriff auf rein lesenden Zugriff zu beschränken (Read-Only) muss die letzte Zeile modifiziert werden zu:
 +<​code>​
 +    ForceCommand internal-sftp -R
 +</​code>​
  
sftp_fuer_bestimme_benutzer.txt · Zuletzt geändert: 2017/10/02 13:40 (Externe Bearbeitung)

Impressum