Seit der openssh Version 5 ist es möglich einen Benutzer der sich per ssh anmelden in einem Ordner einzusperren.
So bin ich vorgegangen:
Als erstes habe ich eine Gruppe angelegt namens sftponly. Den Benutzer bzw die Benutzerin lieschen habe ich der Gruppe hinzugefügt.
groupadd sftponly
useradd lieschen
usermod -aG sftponly lieschen
Die /etc/ssh/sshd_config habe ich wie folgt angepasst:
Subsystem sftp internal-sftp
Match Group sftponly
ChrootDirectory /srv/transfer
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
Im Anschluss der Anpassung den sshd Dienst neu starten.
Als letztes müssen noch die Ordner erstellt werden:
mkdir -p /srv/transfer
chown root:sftponly /srv/transfer
chmod 755 /srv/transfer
mkdir -p /srv/transfer/lieschen
chown lieschen:sftponly /srv/transfer/lieschen
chmod 700 /srv/transfer/lieschen
Ein Benutzer der in der Gruppe sftponly ist, darf sich nur per sftp mit dem Server verbinden. Bei der Anmeldung landet er im Ordner /srv/transfer. Dort sieht er zwar alle Ordner, kann jedoch nur auf seinen zugreifen.
Ich bin nach dieser Anleitung vorgegangen: http://meshfields.de/sftp-chroot-centos/