Kako koristiti rbash (Restricted Bash Shell) u Linuxu


U svijetu Linuxa i sustava sličnih Unixu, sigurnost je ključna, posebno kada više korisnika dijeli sustav. Jedan od načina za povećanje sigurnosti je korištenje ograničenih ljuski. Jedna takva ljuska je rbash ili Ograničeni bash.

Ovaj će članak objasniti što je rbash, kako se razlikuje od obične Bash ljuske i dati praktične primjere njegove upotrebe.

Što je Shell?

Prije nego što zaronimo u rbash, razjasnimo što je školjka.

Ljuska je program koji korisnicima omogućuje interakciju sa sustavom Linux putem sučelja naredbenog retka. On tumači naredbe koje je unio korisnik i komunicira sa sustavom kako bi izvršio te naredbe.

Bash (Bourne Again SHell) jedna je od najčešće korištenih ljuski u Linux okruženjima.

Što je rbash?

rbash je ograničena verzija ljuske Bash, koja je dizajnirana da ograniči pristup korisnika određenim naredbama i značajkama, povećavajući sigurnost sustava.

Kada se korisnik prijavi u sustav koristeći rbash, ne može obavljati zadatke koji bi mogli ugroziti sustav ili druge korisnike.

Ključne razlike između Bash i rbash

Slijede neke ključne razlike između bash i rbash:

  • U rbash korisnici ne mogu promijeniti svoj direktorij naredbom cd. Mogu raditi samo u svom matičnom imeniku.
  • Određene naredbe kao što su exec, set i unset su ograničene, sprječavajući korisnike da mijenjaju okruženje ljuske.
  • Korisnici ne mogu mijenjati varijable okruženja koje mogu utjecati na druge korisnike ili postavke sustava.
  • U rbashu korisnici ne mogu preusmjeriti ulaz ili izlaz, što otežava izvršavanje naredbi koje mogu pristupiti ili manipulirati datotekama izvan njihovih određenih područja.

Ova ograničenja čine rbash prikladnim za scenarije u kojima želite omogućiti ograničeni pristup korisnicima uz održavanje razine sigurnosti.

Kada koristiti rbash

Evo nekoliko situacija u kojima je upotreba rbash korisna:

  • Javni terminali: U okruženjima kao što su knjižnice ili škole gdje korisnici trebaju pristup osnovnim naredbama, ali ne smiju dirati u postavke sustava.
  • Dijeljeni poslužitelji: Na zajedničkim sustavima, rbash može spriječiti korisnike da pristupe podacima drugih korisnika ili kritičnim sistemskim datotekama.
  • Okruženja za testiranje i učenje: Kada podučavate korisnike osnovnim vještinama naredbenog retka, rbash može pomoći u ograničavanju njihovih radnji kako bi se izbjegle slučajne promjene sustava.

Kako postaviti rbash u Linuxu

Postavljanje rbash na vašem Linux sustavu je jednostavan proces, sve što trebate učiniti je slijediti ove korake:

1. Instalirajte Bash u Linuxu

Većina Linux distribucija dolazi s instaliranim Bashom prema zadanim postavkama, možete provjeriti je li instaliran pokretanjem:

bash --version

2. Stvorite ograničenog korisnika ljuske

Možete kreirati korisnika posebno za rbash.

sudo adduser anusha

Nakon što stvorite korisnika, promijenite njegovu zadanu ljusku u rbash:

sudo usermod -s /bin/rbash restricteduser

Kako biste dodatno ograničili okruženje ovog korisnika, možete stvoriti određeni direktorij i postaviti ga kao njihov matični direktorij:

sudo mkdir /home/anusha/bin

Zatim možete postaviti bilo koje skripte ili naredbe kojima želite da korisnik pristupi unutar ovog bin direktorija.

Kako biste ograničili naredbe dostupne korisniku, postavite njihovu PATH varijablu da uključuje samo direktorij bin:

echo 'export PATH=$HOME/bin' | sudo tee -a /home/anusha/.bashrc

Sada se možete prijaviti kao ograničeni korisnik:

su - anusha

Kako koristiti rbash u Linuxu

Istražimo neke praktične primjere da bismo ilustrirali kako rbash radi.

Primjer 1: Pokušaj promjene imenika

Nakon što se prijavite kao ograničeni korisnik, pokušajte promijeniti direktorije:

cd /tmp

Primit ćete poruku o pogrešci poput -rbash: cd: restricted, koja potvrđuje da se korisnik ne može kretati izvan svog matičnog direktorija.

Primjer 2: Izvođenje ograničenih naredbi

Pokušajte izvršiti naredbe poput exec ili set:

exec bash

Dobit ćete pogrešku poput -rbash: exec: restricted, koja pokazuje da je korisniku zabranjeno izvršavanje novih instanci ljuske.

Primjer 3: Preusmjeravanje datoteke

Pokušaj preusmjeravanja izlaza u datoteku:

echo "Test" > test.txt

Primit ćete poruku o pogrešci koja označava da korisnici ne mogu preusmjeriti izlaz u datoteke.

-rbash: test.txt: restricted: cannot redirect output

Primjer 4: Dopuštene naredbe

Da biste vidjeli koje naredbe ograničeni korisnik može izvršiti, možete izraditi jednostavnu skriptu u njegovom bin direktoriju.

Na primjer, stvorite datoteku pod nazivom hello.sh:

echo "echo 'Hello, World!'" > /home/restricteduser/bin/hello.sh
chmod +x /home/restricteduser/bin/hello.sh

Sada, kada se ograničeni korisnik pokrene:

./hello.sh

Vidjet će Hello, World! ispisani na ekranu, pokazujući da mogu izvršavati dopuštene naredbe.

Zaključak

Ukratko, rbash je moćan alat za poboljšanje sigurnosti u višekorisničkim Linux okruženjima. Ograničavanjem pristupa određenim naredbama i značajkama pomaže u održavanju cjelovitosti sustava dok korisnicima omogućuje izvršavanje osnovnih zadataka.