Ich habe einen SSH-Server eingerichtet, bei dem sich einige Freunde sowohl über SSH als auch über FileZilla anmelden konnten. Ich habe einen symbolischen Link zu zwei Festplatten in ihren Home-Verzeichnissen eingerichtet, damit sie auf einige Dateien zugreifen konnten. Dies erwies sich für einige FileZilla-Benutzer (Windows) als zu schwierig und sie verirren sich ständig im Dateisystem.
Meine Fragen sind:
Ist es möglich, SSH-Benutzer dazu zu bringen, in einem anderen Verzeichnis als ihrem Home-Verzeichnis zu starten? Das Anhängen von „cd some_dir“ an ihre .bashrc-Datei funktioniert nur für SSH, nicht für FileZilla.
Ist es möglich, die Benutzer in diesem Verzeichnis und seinen Unterverzeichnissen zu sperren? Manche Benutzer gehen bis / und finden nicht mehr zurück, obwohl ich ihnen immer wieder erkläre, dass sie im Zielfeld einfach "/Pfad/zu/ihrem/Verzeichnis" eingeben können.
Antwort1
Ich schlage vor, dass Sie das Home des Benutzers so ändern, dass es auf das Zielverzeichnis verweist. Sie können dies tun, indem Sie es /etc/passwd
direkt bearbeiten oder usermod --home NEW_HOME_DIR username
(dadurch werden auch Dateien aus dem vorherigen kopiert).
Aktualisieren:
Zum Sperren gibt es außer chroot
Jail nicht viele Möglichkeiten. Wenn Sie die Login-Shell auf setzen /bin/rbash
, wird eine eingeschränkte Shell gestartet. Unter anderem bedeutet das, dass cd
nicht funktioniert, ebenso wenig wie Befehle, die absolute Pfade verwenden. Lesen Sie die bash(1)
Manpage unterRESTRICTED SHELL
für weitere Details.