Ako používať rbash (obmedzený Bash Shell) v systéme Linux
Vo svete Linuxu a systémov podobných Unixu je bezpečnosť kľúčová, najmä ak systém zdieľa viacero používateľov. Jedným zo spôsobov, ako zvýšiť bezpečnosť, je použitie obmedzených shellov. Jedným z takýchto shellov je rbash alebo Restricted Bash.
Tento článok vysvetlí, čo je rbash, ako sa líši od bežného shellu Bash a poskytne praktické príklady jeho použitia.
Čo je Shell?
Skôr než sa pustíme do rbash, ujasnime si, čo je shell.
Shell je program, ktorý umožňuje používateľom interagovať so systémom Linux prostredníctvom rozhrania príkazového riadka. Interpretuje príkazy zadané používateľom a komunikuje so systémom, aby tieto príkazy vykonal.
Bash (Bourne Again SHell) je jedným z najpoužívanejších shellov v prostrediach Linuxu.
čo je rbash?
rbash je obmedzená verzia prostredia Bash, ktorá je navrhnutá tak, aby obmedzila prístup používateľov k určitým príkazom a funkciám, čím sa zvyšuje bezpečnosť systému.
Keď sa používateľ prihlási do systému pomocou rbash, nemôže vykonávať úlohy, ktoré by mohli ohroziť systém alebo iných používateľov.
Kľúčové rozdiely medzi Bash a rbash
Nasleduje niekoľko kľúčových rozdielov medzi bash a rbash:
- V rbash používatelia nemôžu zmeniť svoj adresár pomocou príkazu cd. Môžu pracovať iba vo svojom domovskom adresári.
- Niektoré príkazy ako exec, set a unset sú obmedzené, čo bráni používateľom meniť prostredie shellu.
- Používatelia nemôžu meniť premenné prostredia, ktoré môžu ovplyvniť iných používateľov alebo systémové nastavenia.
- V rbash používatelia nemôžu presmerovať vstup alebo výstup, čo sťažuje vykonávanie príkazov, ktoré môžu pristupovať alebo manipulovať so súbormi mimo ich určených oblastí.
Vďaka týmto obmedzeniam je rbash vhodný pre scenáre, v ktorých chcete používateľom poskytnúť obmedzený prístup pri zachovaní úrovne zabezpečenia.
Kedy použiť rbash
Tu je niekoľko situácií, v ktorých je používanie rbash prospešné:
- Verejné terminály: V prostrediach, ako sú knižnice alebo školy, kde používatelia potrebujú prístup k základným príkazom, ale nemali by zasahovať do systémových nastavení.
- Zdieľané servery: V zdieľaných systémoch môže rbash zabrániť používateľom v prístupe k údajom iných používateľov alebo dôležitým systémovým súborom.
- Testovacie a vzdelávacie prostredia: Pri výučbe základných zručností používateľov s príkazovým riadkom môže nástroj rbash obmedziť ich akcie, aby sa predišlo náhodným zmenám systému.
Ako nastaviť rbash v systéme Linux
Nastavenie rbash na vašom systéme Linux je jednoduchý proces, všetko, čo musíte urobiť, je postupovať podľa týchto krokov:
1. Nainštalujte Bash v Linuxe
Väčšina distribúcií Linuxu sa dodáva s predvolene nainštalovaným Bash, môžete skontrolovať, či je nainštalovaný spustením:
bash --version
2. Vytvorte obmedzeného používateľa shellu
Môžete vytvoriť používateľa špeciálne pre rbash.
sudo adduser anusha
Po vytvorení používateľa zmeňte jeho predvolený shell na rbash:
sudo usermod -s /bin/rbash restricteduser
Ak chcete ešte viac obmedziť prostredie tohto používateľa, môžete vytvoriť konkrétny adresár a nastaviť ho ako jeho domovský adresár:
sudo mkdir /home/anusha/bin
Potom môžete do tohto adresára bin umiestniť ľubovoľné skripty alebo príkazy, ku ktorým má používateľ pristupovať.
Ak chcete obmedziť príkazy dostupné pre používateľa, nastavte ich premennú PATH tak, aby zahŕňala iba adresár bin
:
echo 'export PATH=$HOME/bin' | sudo tee -a /home/anusha/.bashrc
Teraz sa môžete prihlásiť ako obmedzený používateľ:
su - anusha
Ako používať rbash v systéme Linux
Pozrime sa na niekoľko praktických príkladov, ktoré ilustrujú, ako funguje rbash.
Príklad 1: Pokus o zmenu adresára
Po prihlásení ako obmedzený používateľ skúste zmeniť adresáre:
cd /tmp
Zobrazí sa chybové hlásenie ako -rbash: cd: obmedzené
, ktoré potvrdzuje, že používateľ nemôže prechádzať mimo svojho domovského adresára.
Príklad 2: Spúšťanie obmedzených príkazov
Skúste spustiť príkazy ako exec
alebo set
:
exec bash
Zobrazí sa chyba ako -rbash: exec: limited
, ktorá ukazuje, že používateľ má zakázané spúšťať nové inštancie shellu.
Príklad 3: Presmerovanie súboru
Pokus o presmerovanie výstupu do súboru:
echo "Test" > test.txt
Zobrazí sa chybové hlásenie, že používatelia nemôžu presmerovať výstup do súborov.
-rbash: test.txt: restricted: cannot redirect output
Príklad 4: Povolené príkazy
Ak chcete zistiť, aké príkazy môže používateľ s obmedzeným prístupom vykonať, môžete vytvoriť jednoduchý skript v jeho adresári bin.
Vytvorte napríklad súbor s názvom hello.sh
:
echo "echo 'Hello, World!'" > /home/restricteduser/bin/hello.sh
chmod +x /home/restricteduser/bin/hello.sh
Teraz, keď používateľ s obmedzeným prístupom spustí:
./hello.sh
Uvidia Hello, World! vytlačené na obrazovke, čo dokazuje, že môžu vykonávať povolené príkazy.
Záver
Stručne povedané, rbash je výkonný nástroj na zvýšenie bezpečnosti v prostrediach Linuxu s viacerými používateľmi. Obmedzením prístupu k určitým príkazom a funkciám pomáha udržiavať integritu systému a zároveň umožňuje používateľom vykonávať základné úlohy.