Ich erlaube einem Freund ein lokales Konto auf meinem Computer, exklusiv für SCP. Kann ich die Shell seines Kontos als /bin/trueoder auf andere Weise einschränken, ohne SCP zuzulassen?
Ich erlaube einem Freund ein lokales Konto auf meinem Computer, exklusiv für SCP. Kann ich die Shell seines Kontos als /bin/trueoder auf andere Weise einschränken, ohne SCP zuzulassen?
Antworten:
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.
/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).
Nein, tust du nicht. Wie Gilles betonte, funktioniert rssh zu diesem Zweck sehr gut, ebenso wie scponly . Siehe auch die Diskussion in dieser Frage im Zusammenhang .
/bin/falsewird nicht funktionieren, noch wird chmod 644 ksh .