Hvordan bruke rbash (Restricted Bash Shell) i Linux
I en verden av Linux og Unix-lignende systemer er sikkerhet avgjørende, spesielt når flere brukere deler et system. En måte å øke sikkerheten på er å bruke begrensede skjell. Et slikt skall er rbash, eller Restricted Bash.
Denne artikkelen vil forklare hva rbash er, hvordan det skiller seg fra det vanlige Bash-skallet, og gi praktiske eksempler på bruken.
Hva er et skall?
Før du dykker inn i rbash, la oss avklare hva et skall er.
Et skall er et program som lar brukere samhandle med Linux-systemet gjennom et kommandolinjegrensesnitt. Den tolker kommandoer som er lagt inn av brukeren og kommuniserer med systemet for å utføre disse kommandoene.
Bash (Bourne Again SHell) er et av de mest brukte skallene i Linux-miljøer.
Hva er rbash?
rbash er en begrenset versjon av Bash-skallet, som er designet for å begrense brukernes tilgang til visse kommandoer og funksjoner, og forbedre systemsikkerheten.
Når en bruker logger på et system ved hjelp av rbash, kan de ikke utføre oppgaver som kan kompromittere systemet eller andre brukere.
Viktige forskjeller mellom Bash og rbash
Følgende er noen viktige forskjeller mellom bash og rbash:
- I rbash kan ikke brukere endre katalogen med cd-kommandoen. De kan bare operere i hjemmekatalogen deres.
- Enkelte kommandoer som exec, set og unset er begrenset, noe som hindrer brukere i å endre skallets miljø.
- Brukere kan ikke endre miljøvariabler som kan påvirke andre brukere eller systeminnstillinger.
- I rbash kan ikke brukere omdirigere input eller output, noe som gjør det vanskeligere å utføre kommandoer som kan få tilgang til eller manipulere filer utenfor de angitte områdene.
Disse begrensningene gjør rbash egnet for scenarier der du ønsker å gi begrenset tilgang til brukere samtidig som du opprettholder et sikkerhetsnivå.
Når skal du bruke rbash
Her er noen situasjoner der det er fordelaktig å bruke rbash:
- Offentlige terminaler: I miljøer som biblioteker eller skoler der brukere trenger tilgang til grunnleggende kommandoer, men ikke bør tukle med systeminnstillinger.
- Delte servere: På delte systemer kan rbash hindre brukere i å få tilgang til andre brukeres data eller kritiske systemfiler.
- Test- og læringsmiljøer: Når du lærer brukere grunnleggende kommandolinjeferdigheter, kan rbash bidra til å begrense handlingene deres for å unngå utilsiktede systemendringer.
Hvordan sette opp rbash i Linux
Å sette opp rbash på Linux-systemet ditt er en enkel prosess, alt du trenger å gjøre er å følge disse trinnene:
1. Installer Bash i Linux
De fleste Linux-distribusjoner kommer med Bash installert som standard, du kan sjekke om den er installert ved å kjøre:
bash --version
2. Opprett en begrenset Shell-bruker
Du kan opprette en bruker spesifikt for rbash.
sudo adduser anusha
Etter å ha opprettet brukeren, endre standard skall til rbash:
sudo usermod -s /bin/rbash restricteduser
For ytterligere å begrense denne brukerens miljø, kan du opprette en spesifikk katalog og angi den som deres hjemmekatalog:
sudo mkdir /home/anusha/bin
Deretter kan du plassere alle skript eller kommandoer du vil at brukeren skal få tilgang til i denne bin-katalogen.
For å begrense kommandoene som er tilgjengelige for brukeren, sett deres PATH-variabel til å bare inkludere bin
-katalogen:
echo 'export PATH=$HOME/bin' | sudo tee -a /home/anusha/.bashrc
Nå kan du logge på som en begrenset bruker:
su - anusha
Hvordan bruke rbash i Linux
La oss utforske noen praktiske eksempler for å illustrere hvordan rbash fungerer.
Eksempel 1: Forsøk på å endre katalog
Når du er logget på som den begrensede brukeren, kan du prøve å endre kataloger:
cd /tmp
Du vil motta en feilmelding som -rbash: cd: restricted
, som bekrefter at brukeren ikke kan navigere utenfor hjemmekatalogen.
Eksempel 2: Kjøre begrensede kommandoer
Prøv å utføre kommandoer som exec
eller set
:
exec bash
Du vil få en feilmelding som -rbash: exec: restricted
, som viser at brukeren er begrenset fra å kjøre nye shell-forekomster.
Eksempel 3: Filomadressering
Forsøk på å omdirigere utdata til en fil:
echo "Test" > test.txt
Du vil motta en feilmelding som indikerer at brukere ikke kan omdirigere utdata til filer.
-rbash: test.txt: restricted: cannot redirect output
Eksempel 4: Tillatte kommandoer
For å se hvilke kommandoer den begrensede brukeren kan utføre, kan du lage et enkelt skript i bin-katalogen deres.
Lag for eksempel en fil med navnet hello.sh
:
echo "echo 'Hello, World!'" > /home/restricteduser/bin/hello.sh
chmod +x /home/restricteduser/bin/hello.sh
Nå, når den begrensede brukeren kjører:
./hello.sh
De vil se Hello, World! skrevet ut på skjermen, og viser at de kan utføre tillatte kommandoer.
Konklusjon
Oppsummert er rbash et kraftig verktøy for å forbedre sikkerheten i flerbruker Linux-miljøer. Ved å begrense tilgangen til visse kommandoer og funksjoner, bidrar det til å opprettholde systemintegriteten samtidig som det lar brukere utføre grunnleggende oppgaver.