Sftp für vorhandenes Verzeichnis


jimb0p

Erfahrenes Mitglied
#1
Hallo zusammen,

Habe das Verzeichnis /media/sdb1 und bisher konnte man problemlos per FTP die Daten darauf bearbeiten. Jetzt möchte ich aber auf sftp umsteigen, habe den Benutzer media dafür erstellt und möchte dass dieser User nur Zugriff auf das genannte Verzeichnis hat. Wie Stelle ich das am besten an?

Die /etc/ssh/sshd_config habe ich um folgende Zeilen erweitert:

Code:
Match User media
    X11Forwarding no
    AllowTcpForwarding no
    PasswordAuthentication yes
    ChrootDirectory /media/sdb1
    ForceCommand internal-sftp -R
Was fehlt oder habe ich verkehrt gemacht?

Beste Grüße
 
#2
Hi

Ohne dem ForceCommand: funktioniert SSH für den User?
Wieder mit: Wird beim Anmelden das Passwort abgefragt (oder ist schon davor Schluss)?
Welche Fehlermeldung etc. kommt vorher/nachher?
Welches Clientprogramm wird verwendet?
Sind Keys im Einsatz?
Welches OS (am Server)?
Was sagt auth.log (oder so ähnlich) dazu?
Was sagt "ls -al /media" ?
 

jimb0p

Erfahrenes Mitglied
#3
Hi,
SSH klappt nur wenn ChrootDirectory und ForceCommand auskommentiert sind. Kommentiere ich ChrootDirectory aus kann ich per sftp mich verbinden aber lande im home Verzeichnis. Client ist Filezilla, keine Keys im Einsatz.

Code:
Distributor ID: Debian
Description:    Debian GNU/Linux 8.7 (jessie)
Release:        8.7
Codename:       jessie
ls -al /media liefert:

Code:
drwxr-xr-x 13 jimb0 jimb0 20480 Mar 16 15:21 sdb1
Ich habe zu Testzwecke die Berechtigung auf 777 gesetzt und dann ChrootDirectory wieder einkommentiert, leider hat es auch nicht geklappt. Muss ich dann eine neue Gruppe anlegen media und jimb0 der Gruppe hinzufügen und diese Gruppe dann als Besitzer eintragen?
 
#4
Code:
chown root: /media/sdb1
(mit : und nur für /media/sdb1, also ohne Inhalt)
Und das 777 auch wieder rückgängig machen, schreiben nur für den Owner.

Falls es das nicht war, wäre das aktuelle Verhalten ohne auskommentierte Sachen noch interessant...
Welche Fehlermeldung etc. kommt vorher/nachher?
Was sagt auth.log (oder so ähnlich) dazu?
 
Zuletzt bearbeitet:
#6
Fein :)
Um das zu erklären: damit OpenSSH Sftp-Zugriff erlaubt dürfen der Ordner selber und alle Parents (also /media/sdb1, /media, und /) keine Rechtemaske haben, die dem Sftp-User Schreiben erlaubt. Warum auch immer. Erst die Inhalte von /media/sdb1 dürfen dann beschreibbar sein.

Zum Doppelpunkt: Einfach xyz ohne Doppelpunkt würde den Besitzer-User auf xyz ändern, aber die Besitzer-Gruppe unverändert lassen. xyz:zyx ändert den User auf xyz und die Gruppe auf zyx. Und nur der Doppelpunkt, aber kein Gruppenname, ist eine Abkürzung für "den User und seine Defaultgruppe" (welche für root root sein sollte)