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):
cd
wechseln;SHELL
, PATH
, ENV
, oder BASH_ENV
setzen, verändern oder per unset
zu deaktivieren;/
im Namen ausführen (es werden nur die über PATH
erreichbare ausgeführt);>
, >|
, <>
, >&
, &>
oder »
umleiten;exec
-Kommando die Bash durch ein anderes Programm ersetzen;set +r
oder set +o restricted
oder sonstwie abschalten;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
— : Jürgen Kreick
EOF