Benötigen Sie eine Shell für SCP?


Antworten:


39

Sie können die Shell dieses Benutzers auf rsshoder setzen scponly, die genau für diesen Zweck entwickelt wurden:

rssh ist eine eingeschränkte Shell zur Verwendung mit OpenSSH, die nur scp und / oder sftp zulässt. Es enthält jetzt auch Unterstützung für rdist, rsync und cvs.

scponly ist eine alternative "Shell" (von Art) für Systemadministratoren, die Remotebenutzern den Zugriff zum Lesen und Schreiben lokaler Dateien gewähren möchten, ohne Remoteausführungsberechtigungen zu erteilen.

Wenn Sie scp ausführen, löst der OpenSSH-Daemon einen scpProzess mit dieser -fOption aus. Wenn Sie sftp ausführen, löst der OpenSSH-Dämon einen sftp-serverProzess aus. In beiden Fällen wird der Unterprozess über die Shell des Benutzers ausgeführt, sodass die Shell mindestens diese Befehle mit einer Bourne-ähnlichen Syntax unterstützen muss. Jede Bourne-artige Shell wird es tun, ebenso wie csh (ich denke, ihre Anführungsregeln sind kompatibel genug für welche sshdZwecke). Rssh und scponly erlauben diese Befehle und sonst nichts. /bin/truewürde diese Befehle nicht einmal ausführen.


Heißt das, / bin / false oder / bin / true würde nicht funktionieren - oder nur sftp zulassen?
Danny Staple

2
@DannyStaple Wenn die Shell eines Benutzers auf /bin/falseoder ein anderes Programm eingestellt ist, das nichts tut, funktionieren weder scp noch sftp. Für beide Befehle löst der SSH-Dämon einen Shell-Befehl aus, der einen dedizierten Serverprozess ( scp -foder sftp-server) ausführt. Es benötigt eine Bourne-artige Shell oder zumindest eine hinreichend genaue Annäherung (so rsshdass nur diese wenigen Befehle durchgelassen werden können).
Gilles 'SO - hör auf böse zu sein'

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.