Jeśli bash uruchomiony jest pod nazwą rbash, lub
przy jego wywołaniu posłużono się opcją -r, to
staje się powłoką okrojoną (restricted). Powłoka
okrojona służy do ustawienia środowiska lepiej kon
trolowanego niż powłoka standardowa. Zachowuje się
ona identycznie jak bash za wyjątkiem tego, że
poniższe nie są dozwolone lub nie są wykonywane:
* zmiana katalogów za pomocą cd
* ustawianie lub kasowanie zawartości zmiennychSHELL, PATH, ENV, lub BASH_ENV
* podawanie zmian poleceń zawierających /
* podawanie nazw plików zawierających / jako argumentu do wbudowanego polecenia . (kropka)
* podawanie nazwy pliku zawierającej ukośnik jako argumentu opcji -p wbudowanego polecenia hash
* importowanie definicji funkcji ze środowiska powłoki przy uruchamianiu
* analiza zawartości SHELLOPTS ze środowiska powłoki przy uruchamianiu
* przekierowanie wyjścia przy pomocy operatorów >, >|, <>, >&, &>, >>
* posługiwanie się wbudowanym poleceniem exec w celu zastąpienia powłoki innym poleceniem
* dodawanie lub usuwanie poleceńa przy pomocy opcji -f i -d wbudowanego polecenia enable
* używanie wbudowanego polecenia enable w celu włączenia wyłączonych opcji powłoki
* podawanie parametru -p dla wbudowanego polecenia command
* wyłączanie trybu okrojonego za pomocą set +r lub set +o restricted.
Powyższe ograniczenia wymuszane są po przeczytaniu plików uruchomieniowych.
Jeśli polecenie do wykonania okazuje sie² być skryptem powłoki (zobacz WYKONYWANIE POLECEN´ opowyżej), to rbash wyłącza wszelkie ograniczenia w powłoce zrodzonej do wykonania skryptu.
--
05.07.2007
OK, teraz jest po polsku. Zapoznaj się z podręcznikiem do bash (man bash). Jeżeli nie masz zainstalowanej polskiej wersji to wykonanie:
Przypuszczam, że program, który uruchomiłeś korzysta z podkatalogów. A rbash blokuje wykonywanie polecenia cd, więc dostajesz takie efekty. Zapewne nie pozostanie Ci nic innego jak skonfigurowanie dobrego więzienia. :-)
XX:/tmp# apt-get install libpam0g-dev openssl libcrypto++-dev libssl0.9.7
Reading Package Lists... Done
Building Dependency Tree... Done
libssl0.9.7 is already the newest version.
The following extra packages will be installed:
libcrypto++5.2
Suggested packages:
ca-certificates
The following NEW packages will be installed:
libcrypto++-dev libcrypto++5.2 libpam0g-dev openssl
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 906kB/8951kB of archives.
After unpacking 52.5MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Err http://ftp.de.debian.org stable/main openssl 0.9.7e-3 404 Not Found
Failed to fetch http://ftp.de.debian.org/debian/pool/ma ... 3_i386.deb 404 Not Found
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
#~~~~~~~~~~~~~~~~~~~~Etch~~~~~~~~~~~~~~~~~~~~~~~~~#
deb [url]http://ftp.pl.debian.org/debian/[/url] etch main non-free contrib
deb-src [url]http://ftp.pl.debian.org/debian/[/url] etch main non-free contrib
deb [url]http://security.debian.org/[/url] etch/updates main contrib non-free
deb-src [url]http://security.debian.org/[/url] etch/updates main contrib non-free
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#