Gibt es eine einfache Möglichkeit, einen SCP/SFTP-Benutzer auf ein Verzeichnis zu beschränken? Alle Methoden, auf die ich gestoßen bin, erfordern, dass ich ein Chroot-Gefängnis durch Kopieren von Binärdateien einrichte, aber ich denke nicht, dass das notwendig sein sollte.
Akzeptierte Antwort:
SSH Unterstützt das native Chrooting eines SFTP-Benutzers. Sie müssen nur angeben
ChrootDirectory
In Ihrer sshd-Konfigurationsdatei und starten Sie sshd neu.
Wenn Sie nur sftp verwenden, müssen Sie nichts weiter tun. Leider funktioniert dies nicht für scp. Für die interaktive Shell müssen Sie Binärdateien und /dev-Knoten in die Chroot kopieren.
Eine Beispielkonfiguration für nur einen einzelnen Benutzer, testuser:
Match User testuser
ChrootDirectory /home/testuser
ForceCommand internal-sftp
Ein paar Dinge, die Sie beachten sollten, von der Manpage sshd_config:
All components of the pathname must be root-owned directories that are not writable by any other user or group. After the chroot, sshd(8) changes the working directory to the user's home directory.
Suchen Sie in man sshd_config nach ChrootDirectory, um weitere Informationen zu erhalten.