Shell 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).ksh manual, Solaris (SunOS 5.10) manual page, Oracle Inc. 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. 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.ksh(1) manual page, IBM AIX documentation set
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. 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 / /$
Přehled programů Kromě omezených režimů obvyklých shellů existují také specializované omezené shell programy:
rsh – používán společně s OpenSSH, povoluje pouze určité programy na kopírování, jmenovitě scp, sftp, rsync, cvs a rdist smrsh – mohou být vyvolány pouze některé příkazy sendmail
Související články Remote Shell
Reference
Kategorie:Příkazové interprety