====== Restricted Shell ======
Es wird in einigen Fällen empfohlen, anstell einer normalen Shell eine **restricted shell** zu benutzen. Um eine Shell als "restricted" ausführen zu lassen, ruft man sie mit dem Parameter **''-r''** auf (zumindest bei **ksh**) oder **''--restricted''** (**Bash**).
Folgendes ist in einer restricted shell nicht möglich (die Aufzählung ist nicht vollständig):
* Arbeitsverzeichis mittels **''cd''** wechseln;
* Variablen **''SHELL''**, **''PATH''**, **''ENV''**, oder **''BASH_ENV''** setzen, verändern oder per ''unset'' zu deaktivieren;
* Befehle mit **''/''** im Namen ausführen (es werden nur die über ''PATH'' erreichbare ausgeführt);
* Input/Output durch **''>''**, **''>|''**, **''<>''**, **''>&''**, **''&>''** oder **''>>''** umleiten;
* Mit dem **''exec''**-Kommando die Bash durch ein anderes Programm ersetzen;
* restricted mode durch **''set +r''** oder **''set +o restricted''** oder sonstwie abschalten;
* Das Bash-Kommando **''command -p''** anwenden.
Innerhalb einer restricted shell macht es Sinn, einige **Signale** zu unterbinden, z.B.:
trap "echo SIGINT nicht erlaubt" INT
trap "echo SIGTERM nicht erlaubt" TERM
trap "echo SIGTSTP nicht erlaubt" TSTP
Für secure **''less''**:
LESSSECURE=1
export LESSSECURE
----
Stand: 22.02.2011\\
--- //[[feedback.jk-wiki@kreick.de|: Jürgen Kreick]]//
EOF