Warning: Parameter 1 to polyglot_filter_array() expected to be a reference, value given in /usr/share/wordpress/wp-includes/plugin.php on line 199 Stephan's pieces of wisdom » Blog Archive » individual ssh/sftp chroot

individual ssh/sftp chroot

Author: Stephan  |  Category: Linux, Netzwerk

Keine Ausführen- oder schreibrechte geht unter Linux relativ einfach, das ein User , der z.B. nur Dateien hochladen soll gar nichts vom Rest vom System sieht geht schon etwas schwerer.

Eine Lösung:
Wir haben einen user mit Namen Kunde .
Wir legen eine Gruppe sftpuser an. Kunde wird Mitglied von sftpuser.

Wir verändern
Subsystem sftp /usr/lib/openssh/sftp-server

in der /etc/ssh/sshd.conf zu
Subsystem sftp internal-sftp
und ergänzen.

Match Group sftpuser
ChrootDirectory %h
ForceCommand internal-sftp

Dann legen wir für die ftpuser ein neues home an in dem nur root Schreibrechte hat

drwxr-xr-x 4 root root 4096 May 16 15:54 ftphome

Für das eigentliche Home von Kunde sollte die Rechte folgendermassen aussehen.
drwxr-xr-x 2 kunde sftpuser 4096 May 16 15:52 kunde

Der sshd muss nun neu gestartet
Das ist alles

Tags: , , ,

6 Responses to “individual ssh/sftp chroot”

  1. Chris Says:

    gibt es eigentlich auch eine Möglichkeit zusätzlich zum SFTP-Force bei Login ein gesondertes Script im Hintergrund zu starten?

    Ziel ist es in meinem Fall, ein Whitelisting auf iptables-basis anzustoßen, welches dazu sorgt, dass der User nicht nach einer gewissen Anzahl von Logins gebannt wird (SFTP baut ja an mancher Stelle parallel mehrere Verbindungen auf, was dann zum sofortigen Ban führen kann).

    Daher muss ich bei der erfolgreichen Anmeldung ein Script starten, welches dann IP ausliest und temporär im IP-Filter als whitelisting vermerkt und somit keine Probleme entstehen können.

    Grüße Chris

  2. Jonas Says:

    Hi Stephan,

    I did exactly the same configuration a few weeks ago and it worded fine. But I had some issue with the umask of the user that access the chroot system via sftp.

    I found some howtos but none of these work for me ( -u option in the Subsystem line, or the /etc/pam.d/sshd option)

    I like to change the umask only for the sftp user, so that she can upload files readable for everyone.

    Do you have any experience with this?

    Greetings from Ulm

  3. Stephan Says:

    Hi Jonas,

    sorry , no experience with these Problems,

    Stephan

  4. Stephan Says:

    Hallo Chris,

    wäre es da nicht einfacher, den Blacklistingmechanismus ( vermutlich fail2ban ) anzupassen ?

    Grüße
    Stephan

  5. Andreas Says:

    Hallo Stephan,

    So ähnlich hatte ich das neulich auch aufgesetzt, aber es scheiterte daran, dass der Benutzer der Gruppe sftpuser Dateien die dem Benutzer und der Gruppe www-data gehören zwar verschieben durfte, aber nicht herunterladen durfte.

    test/
    ├── ordner1
    └── ordner2

    Verschieben von Dateien aus dem Ordner1 in den Ordner2 war kein Problem. Dateien herunterzuladen wurde dem Benutzer verwehrt.

    Der Benutzer war Mitglied der Gruppe www-data und der Benutzer www-data war auch Mitglied der Gruppe sftpuser.

    Haben diese Dateien aber die Rechte rw- rw- — www-data www-data kann man die Dateien nicht herunterladen.

    Ändert man nun die Gruppe von www-data zu sftpuser bei den betroffenen Dateien, kann man diese auch herunterladen. Leider war das keine praktikable Lösung.

    Liebe Grüße,
    Andreas

  6. Stephan Says:

    Hallo Andreas,

    ich kann es jetzt nichtmehr rekonstruieren aber es hatte damals für unsere Zwecke funktioniert

    Grüße
    Stephan

Leave a Reply