staging.inyokaproject.org

Kastrierte Shell

Status: Ungelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

witesoul

Anmeldungsdatum:
27. August 2010

Beiträge: 85

Hallo zusammen,

mich würde interessieren ob es eine Kastrierte Shell gibt. Wenn ich einem Benutzer ein Konto geben möchte, muss ich für diesen eine Shell auswählen. Ich weiß ich kann Default wählen und die Shell funktioniert überhaupt nicht mehr.... jedoch sollte man sich noch mit SSH über diesen Benutzer via SFTP einloggen können. Es sollen aber keine "externe" Scripte, sondern nur die systemeigenen Scripte ausgeführt werden können. In der Wiki bin ich leider nicht schlauer geworden weil ich da nur was über Bash, Dash, Ksh etc. gefunden habe. Gibt es dafür etwas oder muss ich mir dann echt nen extra SFTP Server einrichten? Oder gibt es andere Möglichkeiten mein Vorhaben umzusetzen? Evtl. über Gruppen?

Für den Fall das es nicht geht, welches Programm kommt denn dann alternativ in Frage? Als ich SFTP Server gegoogelt habe kam ich irgendwie nie um einen SSH Server herum.

Danke schonmal im voraus.

LG Witesoul

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Ja, so eine Minimal-Shell gibt es: die busybox.

Allerdings, so ganz gezielte Beschränkungen, wie Du sie Dir vorstellst, wirst Du wahrscheinlich über gezielte Rechtevergabe machen müssen.
Und ja: entsprechende Gruppen wären bei Debian / *buntu dafür der übliche Weg. (→ Stichwort sudoers einrichten)

LG,

track

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Such mal nach dem resticted mode o.ä. der Bash - aber mir ist es eher auch nichts.

GTAzoccer

Avatar von GTAzoccer

Anmeldungsdatum:
18. Mai 2007

Beiträge: 255

Mir ist nicht ganz klar, was du jetzt genau erreichen möchtest. Sollen die betreffenden Nutzer ausschließlich SFTP nutzen können und sonst nichts, oder soll ein SSH mit eingeschränkter Funktionalität bereitgestellt werden?

Wenn nur SFTP funktionieren soll, kannst du sehr wohl eine nicht funktionierende Shell, wie z.B. /bin/false angeben. Damit der Login über SFTP weiterhin funktioniert muss dafür allerdings noch eine Zeile in der /etc/ssh/sshd_config abgeändert werden.

Subsystem sftp /usr/lib/openssh/sftp-server

abändern zu

Subsystem sftp internal-sftp

Zu finden ist das in unserem Wiki tatsächlich nicht. Jedenfalls nicht direkt. Der SSH (Abschnitt „Extern“) Wiki verweist aber zumindest darauf: SFTP-Server Tutorial Abschnitt "User in Verzeichnisse einsperren".

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13242

Da gibt's doch die rsh.

witesoul

(Themenstarter)

Anmeldungsdatum:
27. August 2010

Beiträge: 85

Hallo und danke für die Antworten. Ich selbst möchte über SSH einen Zugang auf mein System haben, sowohl Konsole als auch SFTP. Aber auch ausgewälten freunden und bekannten die möglichkeit bieten sich auf den SFTP einzuloggen. In der Theorie sollte man immer aufpassen wem man solch einen Zugang gibt, da man ja Exploits etc frei installieren bzw ausführen könnte. Dies gilt es zu unterbinden. Sprich ein reiner Datentransfer für alle (SFTP)Benutzer einzurichten und ich selbst möchte vollen zugriff mit Putty etc. haben.

Mit "Subsystem sftp internal-sftp" kann ich, wenn ich das richtig verstanden habe überhaupt kein shell login mehr machen via Putty. Vielleicht verstehe ich da ja auch was falsch. Anderenfalls würde ich das direkt so machen.

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7795

http://serverfault.com/a/354618

Oder command="" in authorized_keys setzen, aber die authorized_keys könnte man ja über sftp verändern. Sicherheitstechnisch ist das ein Schlagloch.

Aber auch ausgewälten freunden und bekannten die möglichkeit bieten sich auf den SFTP einzuloggen.

Überlegs dir dreimal...

Bei rsync ist ein Script rrsync dabei das Zugriff auf bestimmte Unterverzeichnisse einschränkt, für sftp kenne ich leider nichts vergleichbares, die entsprechenden Lösungen spannen gleich irgendwelche chroot-binds ein.

GTAzoccer

Avatar von GTAzoccer

Anmeldungsdatum:
18. Mai 2007

Beiträge: 255

witesoul schrieb:

Mit "Subsystem sftp internal-sftp" kann ich, wenn ich das richtig verstanden habe überhaupt kein shell login mehr machen via Putty. Vielleicht verstehe ich da ja auch was falsch. Anderenfalls würde ich das direkt so machen.

Stimmt so nicht. Es können nur die kein SSH mehr nutzen, die /bin/false als Standard-Shell haben. Du selbst, mit z.B. /bin/bash als Shell, kannst dich weiterhin ganz normal in Putty einloggen.

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wenn du bestimmte Nutzer ausschließlich SFTP machen lassen, selbst aber immer noch per SSH zugreifen willst, kannst du dich an diese Anleitung halten. Ist für Arch, passt aber auch bei Ubuntu.

Antworten |