Ich erlaube einem Freund ein lokales Konto auf meinem Computer, exklusiv für SCP. Kann ich die Shell seines Kontos als /bin/true
oder 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/true
oder auf andere Weise einschränken, ohne SCP zuzulassen?
Antworten:
Sie können die Shell dieses Benutzers auf rssh
oder 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 scp
Prozess mit dieser -f
Option aus. Wenn Sie sftp ausführen, löst der OpenSSH-Dämon einen sftp-server
Prozess 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 sshd
Zwecke). Rssh und scponly erlauben diese Befehle und sonst nichts. /bin/true
würde diese Befehle nicht einmal ausführen.
/bin/false
oder 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 -f
oder sftp-server
) ausführt. Es benötigt eine Bourne-artige Shell oder zumindest eine hinreichend genaue Annäherung (so rssh
dass 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/false
wird nicht funktionieren, noch wird chmod 644 ksh .