Fil- og katalogtilganger i Linux: En dyptgående forståelse
Linux er et operativsystem designet for flere brukere, som betyr at mange individer kan bruke samme datamaskin samtidig. Denne funksjonaliteten krever et robust system for å sikre at hver brukers filer og data er trygge og private. Derfor er håndtering av fil- og katalogtilganger av største betydning i Linux.
For å oppnå dette har Linux implementert et detaljert system for fil- og katalogtilganger. Dette gir brukere full kontroll over hvem som har tilgang til hvilke filer og hvilke handlinger de kan utføre. Denne mekanismen er avgjørende for å opprettholde datasikkerhet og systemintegritet.
Som Linux-bruker er det viktig å forstå hvordan disse tillatelsene fungerer. Denne kunnskapen vil hjelpe deg med å beskytte filene dine og sikre at datamaskinen fungerer som den skal. La oss starte med å se på de forskjellige brukergruppene som finnes i Linux.
Brukerkategorier i Linux
I Linux deler vi brukere inn i forskjellige kategorier. Den første kategorien er eieren av en fil eller katalog. Hver fil og katalog har en enkelt eier, som typisk har de fleste rettighetene til ressursen. Eieren er vanligvis representert med bokstaven «u» for bruker.
Den andre kategorien er gruppe. Flere brukere kan samles i en gruppe, og tillatelser kan gis til hele gruppen. Dette er spesielt nyttig når du vil gi flere brukere tilgang til en fil uten å måtte angi tillatelser individuelt. Gruppeeieren er representert med bokstaven «g».
For eksempel, hvis du har en fil med bok anbefalinger og ønsker at flere brukere skal ha samme tilgang, kan du enkelt legge dem til en gruppe og gi tillatelse til denne gruppen.
Den siste kategorien er andre. Dette er alle brukere som ikke er eier av filen og ikke tilhører en gruppe som har tillatelser. Disse brukerne representeres med bokstaven «o».
Alle brukere i systemet kan også refereres til med bokstaven «a», som inkluderer eiere, gruppemedlemmer og alle andre.
Hvordan legge til en ny bruker i Ubuntu Linux
La oss gå gjennom prosessen for å legge til en ny bruker i Ubuntu Linux. Det er en fordel å opprette en ny bruker slik at du kan følge med i denne guiden.
1. Start med å åpne Innstillinger. I venstre meny, velg «Brukere». Klikk så på «Lås opp» og skriv inn passordet ditt. Du må låse opp innstillingene for å legge til en ny bruker. Denne funksjonen er som standard låst for sikkerhet.
2. Når innstillingene er låst opp, vil du se alternativet «Legg til bruker». Klikk på dette for å starte prosessen.
3. Fyll ut feltene for «Fullt navn» og «Brukernavn». Velg «Sett passord nå» og skriv inn ønsket passord. Pass på at «Kontotype» er satt til «Administrator». Klikk deretter på «Legg til» for å fullføre opprettelsen.
4. Du vil nå se den nye brukerkontoen på listen over brukere.
Forståelse av fil- og katalogtillatelser i Linux
Tillatelser i Linux bestemmer hvem som kan få tilgang til filer og kataloger, og hvilke handlinger de kan utføre. Det er tre hovedtyper av tillatelser:
- Les(r): Lar en bruker se innholdet i en fil og liste innholdet i en katalog.
- Skriv(w): Lar en bruker endre innholdet i en fil. For kataloger gir skrivetilgang muligheten til å opprette, slette, endre navn på, eller flytte filer og underkataloger. Merk at skrivetilgang til kataloger krever også utførelsestillatelse.
- Utføre(x): Betyr at en fil kan behandles som et program og kjøres. For kataloger gir utførelsestillatelse muligheten til å navigere inn i katalogen (ved hjelp av kommandoen «cd»).
Disse tillatelsene tildeles til de tre brukergruppene vi diskuterte tidligere: eier, gruppe og andre.
Det er også verdt å merke seg hvordan du kan slette filer og mapper i Linux.
Bruke lang liste i Linux
For å se innholdet i en katalog bruker vi vanligvis kommandoen «ls». Dette viser imidlertid kun filene og katalogene uten detaljert informasjon. For mer informasjon trenger vi å bruke lang liste formatet ved å legge til flagget «-l» til kommandoen. Dette vil gi oss filtillatelser, filens eier, og gruppen filen tilhører.
I Ubuntu, dersom ingen gruppe er opprettet, vil gruppenavnet være det samme som filens eier.
For å opprette en gruppe bruker vi kommandoen «addgroup». For å lage en gruppe kalt «redaktører», utfører du følgende kommando og oppgir et passord når du blir spurt:
sudo addgroup editors
«sudo» gir oss mulighet til å kjøre kommandoer som root bruker. Root-brukeren har høyeste rettigheter og kan gjøre endringer som påvirker alle brukere.
For å legge til brukere i en gruppe bruker vi denne syntaksen:
adduser <bruker> <gruppe>
For å legge til både «belmont» og «madici» til «redaktører»-gruppen, utfører vi disse kommandoene:
sudo adduser belmont editors
sudo adduser madici editors
For å se hvilke grupper en bruker tilhører, bruk kommandoen:
groups <brukernavn>
Resultatet av disse kommandoene er vist nedenfor:
La oss nå se på filattributtene som forteller oss om filtypene og tillatelsene til en fil.
Filattributter i Linux
I Linux består filattributtene av ti tegn. Det første tegnet forteller oss filtypen. Noen vanlige tegn inkluderer:
- d: Indikerer en katalog
- -: Indikerer en vanlig fil, f.eks. en tekstfil
- c: Indikerer en tegnspesialfil
- l: Indikerer en symbolsk lenke
- b: Indikerer en blokkspesialfil
De resterende ni tegnene viser tillatelsene til eieren, gruppeeieren og andre brukere. Disse ni tegnene er delt inn i grupper på tre. Den første gruppen viser tillatelsene til eieren, den andre til gruppeeieren og den tredje til alle andre brukere i systemet.
Tillatelsene for hver brukergruppe er angitt i rekkefølgen: lesing, skriving og utføring. Lesetillatelse er representert med «r», skrivetillatelse med «w» og utførelsestillatelse med «x».
Symbolet «-« brukes når en brukergruppe ikke har den aktuelle tillatelsen. For eksempel betyr «rw-« for en gruppe at de har lese- og skrivetillatelse, men ikke utførelsestillatelse.
Endre filtillatelser med symbolsk notasjon
For å endre fil- eller katalogtillatelser bruker vi kommandoen «chmod» og spesifiserer hvilke brukergrupper vi endrer tillatelser for.
Dette kan være filens eier representert ved «u», gruppe eieren representert med «g» eller andre brukere representert ved «o». Vi kan også endre for alle brukergruppene ved å bruke «a».
Vi spesifiserer også om vi skal legge til eller fjerne tillatelser. For å legge til tillatelser bruker vi «+», og for å fjerne tillatelser bruker vi «-«. Til slutt spesifiserer vi tillatelsene vi skal endre, ved å bruke «r», «w» eller «x».
La oss se på et eksempel. Start med å opprette en ny katalog ved navn «bøker» med denne kommandoen:
mkdir bøker
Naviger inn i den nye katalogen med kommandoen:
cd bøker
Opprett en ny fil ved navn «readList.txt»
touch readingList.txt
Bruk «ls -l» for å vise innholdet i «bøker»-katalogen.
ls -l
Du vil se noe som dette:
Vi ser at filen er en vanlig fil (representert med «-«). Eieren og gruppeeieren har lese- og skrivetillatelser mens andre brukere kun har lesetillatelse. For å gi alle andre brukere skrivetillatelse, kjører vi følgende kommando:
chmod o+w readingList.txt
For å sjekke om endringene er gjennomført, kjør:
ls -l
Du ser nå at filtillatelsen for andre brukere har endret seg fra «r–« til «rw-«, som betyr at de nå har skrivetillatelse.
For å legge til utførelsestillatelse for filens eier, bruk kommandoen:
chmod u+x readingList.txt
For å fjerne skrivetillatelsen fra gruppeeieren:
chmod g-w readingList.txt
For å fjerne lesetillatelsen fra alle brukere slik at ingen kan se filen:
chmod a-r readingList.txt
For å legge til lesetillatelse for filens eier:
chmod u+r readingList.txt
Og for å legge til skrive- og utførelsestillatelse til gruppeeieren:
chmod g+wx readingList.txt
Endre tillatelser med oktal notasjon
Hver av de tre tillatelsene (lese, skrive og utføre) har to mulige verdier: enten tilstede eller ikke tilstede. Disse kan representeres som binære tall, 1 for tilstede og 0 for ikke tilstede. Tillatelsen «rw-« kan representeres som «110» binært.
Dette betyr at vi trenger tre binære tall for hver brukergruppe for å representere deres tillatelser. For eksempel kan «rwxrwxr–« representeres som «111111100» binært.
For å unngå å bruke lange og forvirrende binære tall, er det bedre å bruke oktale tall.
Oktale tall har en base på 8, og hvert oktaltall kan representere tre binære sifre. Tillatelsen «rw-« kan representeres som «110» binært, som tilsvarer «6» i oktal. Vi kan bruke oktale tall til å representere lese-, skrive- og utførelsestillatelsen for eieren, gruppen og andre:
Det er mer praktisk å bruke oktale tall. Ved å bruke ett oktaltall for hver brukergruppe kan vi endre tillatelsene for alle brukerne samtidig. Dette er ikke like lett å gjøre med symbolsk notasjon.
Det kan ta tid å lære seg de oktale verdiene, så det kan være lurt å referere til diagrammet ovenfor når du bruker oktal notasjon. La oss se på flere eksempler på hvordan man endrer tillatelser ved bruk av oktal notasjon.
For å gi alle brukere lese-, skrive- og utførelsestillatelse til filen «readList.txt», bruker vi følgende kommando:
chmod 777 readingList.txt
For å se om tillatelsene har endret seg, bruk:
ls -l
Dette vil vise noe lignende som dette:
total 0 -rwxrwxrwx 1 madici madici 0 Sep 6 05:45 readingList.txt
Vi ser nå at eieren, gruppen og andre brukere har lese-, skrive- og utførelsestillatelse til «readList.txt».
For å fjerne skrivetillatelsen fra både gruppe og andre brukere, bruk:
chmod 755 readingList.txt
Og for å fjerne utførelsestillatelsen fra eieren og andre brukere:
chmod 654 readingList.txt
Spesielle tillatelser i Linux
Linux har tre spesielle tillatelser som gir avansert funksjonalitet for tilgangskontroll. Disse tillatelsene lar brukere med færre rettigheter kjøre programmer med høyere rettigheter, som eieren av filen.
Disse spesielle tillatelsene inkluderer:
- Set User ID (SUID): SUID tillater en bruker å kjøre en fil med rettighetene til filens eier.
- Set Group ID (SGID): SGID tillater en bruker å kjøre en fil med rettighetene til filens gruppeeier.
- Sticky Bit: Sticky bit settes vanligvis på kataloger for å sikre at kun eieren av katalogen, eieren av filen eller rotbrukeren kan slette filer.
Disse spesielle tillatelsene brukes sammen med de vanlige lese-, skrive- og utførelsestillatelsene.
Konklusjon
Tilgangskontroll er en viktig del av Linux. Det er viktig å forstå hvordan tillatelser fungerer for å beskytte dataene dine og sikre at datamaskinen din fungerer som den skal. Ta deg tid til å sette deg inn i dette og eksperimenter med tillatelser på din egen maskin.
Du kan også utforske hvordan du bruker Linux-kommandoer på Windows.