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.