Zugriff auf die Linux-Kommandozeile einschränken

Mit rbash und GNU Rush schränken Sie auf Linux-Systemen den Zugriff auf die Shell ein. So können Sie verhindern, dass Anwender versehentlich Schaden anrichten.

Lesezeit: 5 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 12 Beiträge

(Bild: Michael Luther)

Von
Inhaltsverzeichnis

Meldet sich Alice per SSH auf einem entfernten Server an, landet sie dort in einer Shell, mit der sich erstaunlich viel anstellen lässt. Falsch gesetzte Zugriffsrechte können dann verheerende Folgen haben. Im schlimmsten Fall kann Alice die Konfigurationsdateien unter /etc einsehen oder per scp auf ihren Rechner holen. Obendrein öffnet der Server eine Shell in Situationen, in denen man es nicht vermuten würde. Dazu zählt beispielsweise das Tool scp: Um eine Datei zu kopieren, öffnet es via SSH eine Verbindung zum Server, der dann dort mit der Standard-Shell des Benutzers den Befehl scp -r aufruft. Ähnlich problematisch sind rsync und Zugriffe auf ein Git-Repository. Doch der Zugriff lässt sich glücklicherweise einschränken.

Viele Linux-Systeme verwenden standardmäßig die Bash. Ruft man sie mit dem Parameter -r beziehungsweise --restricted oder als rbash auf, verwandelt sie sich in eine sogenannte Restricted Shell. Die einfache Benutzerin Alice darf dann unter anderem nicht mehr mit cd in ein anderes Verzeichnis wechseln und Daten umleiten (über die Operatoren >, >|, <>, >&, &> und >>). Des Weiteren sind die Umgebungsvariablen SHELL, PATH, ENV und BASH_ENV in Stein gemeißelt. Stark eingeschränkt ist auch, welche Programme man ausführen darf. Kommandos dürfen den Schrägstrich / nicht enthalten, die Shell lässt sich nicht via exec-Befehl gegen ein anderes Kommando austauschen und beim command-Befehl, der ein gegebenes Kommando schlicht ausführt, ohne es weiter nachzuschlagen, ist der Parameter -p blockiert, der einen Standardpfad für auszuführende Programme verwendet. Sämtliche Einschränkungen listet man bash ganz am Ende auf. Neben der Bash lassen sich auch die Bourne Shell und die Korn-Shell (Ksh) in eine Restricted Shell verwandeln.

Um die Restricted Shell auszuprobieren, tippen Sie rbash oder bash -r. Ein Verzeichniswechsel mit cd ist dann nicht mehr möglich.

Um Alice auf eine Restricted Shell zu beschränken, legen Sie rbash als ihre Standard-Shell fest. Dazu setzen Sie in der Datei /etc/passwd am Ende der Zeile für Alice die Shell auf rbash:

Immer mehr Wissen. Das digitale Abo für IT und Technik.

  • Zugriff auf alle Inhalte von heise+
  • exklusive Tests, Ratgeber & Hintergründe: unabhängig, kritisch fundiert
  • c't, iX, Technology Review, Mac & i, Make, c't Fotografie direkt im Browser lesen
  • einmal anmelden – auf allen Geräten lesen - monatlich kündbar
  • erster Monat gratis, danach monatlich 9,95 €
  • Wöchentlicher Newsletter mit persönlichen Leseempfehlungen des Chefredakteurs
GRATIS-Monat beginnen Jetzt GRATIS-Monat beginnen Mehr Informationen zu heise+