rbash znamená omezený bash shell. V UNIXu, jako když je vytvořen uživatel, je přiřazen výchozí shell (/bin/bash). Uživatel se tedy může přesunout do adresářů kohokoli, takže abychom se této situaci vyhnuli, můžeme uživateli přiřadit omezený shell, omezený shell je jako prostředí podobné vězení nebo chroot prostředí.
Proč rbash?
Pokud je bash spuštěn jménem rbash nebo je při vyvolání zadána volba -r, shell se stane omezeným. Omezený shell se používá k nastavení prostředí lépe kontrolovaného než standardní shell. Chová se identicky jako bash s tou výjimkou, že následující jsou zakázány nebo se neprovádějí:
- změna adresářů pomocí cd
- nastavení nebo zrušení nastavení hodnot SHELL, PATH, ENV nebo BASH_ENV
- zadání názvů příkazů obsahujících /
- zadání názvu souboru obsahujícího / jako argument vestavěného příkazu
- zadání názvu souboru obsahujícího lomítko jako argument pro volbu -p vestavěného příkazu hash
- import definic funkcí z prostředí shellu při spuštění
- analyzování hodnoty SHELLOPTS z prostředí shellu při spuštění
- přesměrování výstupu pomocí operátorů přesměrování>,>|, <>,>&, &> a>>
- pomocí vestavěného příkazu exec k nahrazení shellu jiným příkazem
- přidání nebo odstranění vestavěných příkazů pomocí voleb -f a -d do příkazu enable builtin
- pomocí příkazu enable builtin k povolení deaktivovaných vestavěných shellů
- zadáním volby -p vestavěnému příkazu.
- vypnutí omezeného režimu pomocí sady +r nebo sady +o omezené.
Jak nastavit omezený shell
Nastavte požadované prostředí pro konkrétního uživatele a můžete mu umístit spouštěcí soubor:$HOME/.bash_profile, jak je uvedeno níže:
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH bash -r
Nyní se přihlaste s uživatelem a zkuste změnit adresáře.
$ cd /etc/ bash: cd: restricted $ cd /tmp/ bash: cd: restricted
Pro nastavení omezeného prostředí pro všechny uživatele vytvořte symbolický odkaz /bin/bash na /bin/rbash:
# cd /bin # ln -s bash rbash