Starten Sie die SSH-Sitzung in einem anderen Verzeichnis als ihrem Home-Verzeichnis und sperren Sie sie dort

Starten Sie die SSH-Sitzung in einem anderen Verzeichnis als ihrem Home-Verzeichnis und sperren Sie sie dort

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/passwddirekt bearbeiten oder usermod --home NEW_HOME_DIR username(dadurch werden auch Dateien aus dem vorherigen kopiert).

Aktualisieren: Zum Sperren gibt es außer chrootJail nicht viele Möglichkeiten. Wenn Sie die Login-Shell auf setzen /bin/rbash, wird eine eingeschränkte Shell gestartet. Unter anderem bedeutet das, dass cdnicht funktioniert, ebenso wenig wie Befehle, die absolute Pfade verwenden. Lesen Sie die bash(1)Manpage unterRESTRICTED SHELLfür weitere Details.

verwandte Informationen