23.14 Restricted Shells
Eine Restricted Shell ist eine Shell, die die Tätigkeiten eines Benutzers stark einschränkt. Solch eine Shell kann eingesetzt werden, wenn nicht allzu vertrauenswürdige Benutzer Zugriff auf ein System bekommen sollen.
Eine Restricted Shell schränkt die Aktionen des Benutzers wie folgt ein:
- Das Arbeitsverzeichnis kann nicht gewechselt werden.
- Die Shellvariablen $SHELL, $ENV und $PATH können nicht geändert werden.
- Programmnamen können nicht über relative oder absolute Pfade gestartet werden, sie müssen sich im $PATH befinden.
- Die Ausgabeumlenkung kann nicht verwendet werden.
swendzel@etslack$ rksh $ cd rksh: cd: restricted $ ls ... $ ls > file rksh: file: restricted $ /bin/bash rksh: /bin/bash: restricted
Listing 23.27 Restricted Shell
Trotz dieser Features kann eine Restricted Shell nur auf sehr gut gesicherten Systemen und mit sehr wenigen Binarys wirklich Schutz bieten.
Auf einem normalen Unix-System ist es für einen Angreifer überhaupt kein Problem, sich aus solch einer Restricted Shell zu befreien. Bei einem guten Hacker dauert dieser Akt etwa 2 Sekunden!