Shell s omezeným přístupem
Author
Albert FloresShell s omezeným přístupem je v informatice typ unixového shellu, který omezuje možnosti v něm prováděných interaktivních aktivit uživatele nebo možností shellových skriptů. Jeho cílem je poskytovat další úroveň zabezpečení, avšak neumí zabránit spuštění nedůvěryhodného softwaru. Vlastní operace omezeného režimu jsou prováděny plnohodnotným shellem (Bourne shell, jeho pozdější protějšek Bash nebo Korn shell). V některých případech je shell v omezeném režimu používán v kombinaci s režimem falešného kořene (chroot), což je další pokus omezit přístup ke zbytku systému.
Vyvolání
Omezený režim v Bourne shell sh, s napodobením práce POSIXu, lze vyvolat z interpretu jedním z následujících způsobů: * sh -r poznámka: v některých variantách sh může mít tento přepínač význam „read“ * rsh poznámka: v některých systémech znamená příkaz rsh vzdálené volání remote shell
Omezený režim Bashe je aktivován, jestliže je volán jedním z následujících způsobů: * rbash * bash -r * bash --restricted
Podobně je použit i v Kornu shellu ksh: * rksh * ksh -r
Nastavení rbash
Pro některé systémy (např. CentOS) není vyvolání přes rbash ve výchozím nastavení umožněno a uživatel obdrží chybu „příkaz nebyl nalezen“ (volal-li příkaz přímo) nebo selže přihlášení, má-li v souboru /etc/passwd nastaven spouštěcí shell /bin/rbash. +more V takovém případě je potřeba ručně vytvořit symbolický odkaz pojmenovaný rbash odkazující na bash. Ačkoliv takto vyvolaný bash je bez přepínače -r nebo --restricted, shell pozná, že byl vyvolán pomocí názvu rbash a sám se přepne na shell s omezeným přístupem. Toho může být dosaženo pomocí následujících příkazů (vykonaných uživatelem root nebo s použitím sudo):.
$ cd /bin $ ln -s bash rbash
V shellu s omezeným přístupem nejsou povoleny následující operace: * změna adresáře * použití absolutních názvů cest obsahujících lomítko * změna proměnných PATH a SHELL * přesměrování výstupu
Bash doplňuje další omezení, včetně: * omezení definic funkcí * omezení použití jména souborů obsahujíc lomítko v názvu souboru bash
Restrikce v Korn shellu s omezeným přístupem jsou téměř stejné jako v omezeném Bourn shellu.
Nedostatky režimu s omezeným přístupem
Režim s omezeným přístupem není zcela bezpečný. Uživatel může prolomit omezené prostředí spuštěním programu obsahujícím funkci shellu. +more Následuje příklad spuštění shellu v editoru vi, který může být použit na únik z režimu s omezeným přístupem:.
~$ vi :set shell=/bin/sh :shell
Nebo jednoduše spuštěním nového neomezeného shellu, nachází-li se v PATH, jak je ukázáno zde:
~$ rbash ~$ cd / rbash: cd: restricted ~$ bash ~$ cd / /$