Linux fil- og katalogtillatelser forklart

Linux er et flerbrukeroperativsystem, så flere brukere kan samhandle med samme datamaskin samtidig ved å bruke Linux. Som et flerbrukeroperativsystem er det viktig for Linux å garantere sikkerheten og personvernet til filene som tilhører forskjellige brukere.

For å oppnå dette har Linux et forseggjort system for å håndtere fil- og katalogtillatelser. På denne måten kan Linux-brukere kontrollere tilgangen til filer for forskjellige brukere og hvilke handlinger brukerne kan gjøre når de bruker datamaskinen.

Som Linux-bruker er det avgjørende å forstå hvordan Linux håndterer fil- og katalogtillatelser og hvordan du kan jobbe med de forskjellige tilgjengelige tillatelsene for å sikre filene dine og garantere funksjonaliteten til datamaskinen din. For å forstå hvordan Linux administrerer fil- og katalogtillatelser, la oss først se på de forskjellige kategoriene av brukere i et Linux-operativsystem.

Kategori av brukere i Linux

Den første kategorien brukere er eiere av en fil eller en katalog. Hver fil eller katalog i Linux har én eier. Denne eieren får vanligvis flere tillatelser til filen eller katalogen sin. Eieren av en fil er vanligvis angitt med bokstaven u for bruker.

I Linux kan flere brukere settes inn i en gruppe og gis tillatelser til filer som en gruppe. Disse er kjent som gruppeeiere og er representert med bokstaven g.

Hvis du for eksempel har en fil med bokanbefalinger og du ønsker å gi flere brukere lignende tillatelser til filen, er en enkel måte å gjøre dette på å sette brukerne i en gruppe og gi tillatelser til gruppen som helhet.

Den andre kategorien brukere er kjent som andre og er representert med bokstaven o. Dette er brukere som ikke eier filen og som heller ikke er en del av en gruppe med tillatelser til filen. Andre representerer alle andre i systemet.

Alle brukere på en datamaskin, det vil si eiere av filer, brukere i grupper og andre brukere kan spesifisere ved å bruke bokstaven a.

Opprett og legg til en ny bruker i Ubuntu Linux

La oss se på hvordan du kan opprette og legge til en ny bruker i Ubuntu Linux. For å følge med i denne opplæringen må du også opprette en ny bruker.

1. Åpne Innstillinger og på venstre menylinje, klikk på Bruker og klikk deretter på Lås opp og oppgi passordet ditt når du blir bedt om det. Du må klikke på Lås opp slik at du kan legge til en ny bruker. Som standard er denne funksjonaliteten låst.

2. Når den er låst opp, vil du se et alternativ Legg til bruker. Klikk på det for å legge til en ny bruker

3. For å opprette en ny bruker, oppgi fullstendig navn og brukernavn, velg Angi passord nå og angi passordet. Sørg i tillegg for at kontotypen er satt til Administrator, og klikk deretter på Legg til for å legge til en bruker.

  Hvordan pakke ut TarGZ-filer i Linux

4. Du bør se en ny brukerkonto du nettopp opprettet dukke opp som vist nedenfor.

Linux fil- og katalogtillatelser

Tillatelser refererer til reglene som styrer tilgang til filer og kataloger og handlingene som kan utføres på dem av forskjellige brukere. Linux har tre hovedtillatelseskategorier:

  • Read(r) – lar en bruker se innholdet i en fil og liste innholdet i en katalog
  • Write(w) – lar en bruker endre innholdet i en fil. Med kataloger lar skrivetillatelsene en bruker endre innholdet i en katalog, for eksempel ved å opprette, slette, gi nytt navn eller flytte filer og underkataloger i katalogen. Skriverettigheter med kataloger fungerer imidlertid bare hvis brukeren også har utføringstillatelser.
  • Utfør(x) – Utfør tillatelser betyr at en fil kan behandles som et program som kan kjøres. Med kataloger lar utføringstillatelsen en bruker gå inn eller «cd» i katalogen.
  • Lese-, skrive- og utføringstillatelsene er tildelt de tre kategoriene brukere som er tilgjengelige i Linux.

    Du kan også lese hvordan du fjerner filer og kataloger i Linux

    Lang liste i Linux

    For å se innholdet i en fil i en Linux-katalog, kjører vi vanligvis ls-kommandoen. Dette viser imidlertid bare filene og katalogene som er tilgjengelige og gir ingen tilleggsinformasjon.

    For å se mer informasjon om innholdet må du bruke det lange listeformatet. For å gjøre dette, kjør ls-kommandoen med -l-flagget. Dette vil gi deg filtillatelser, eiere av en fil og gruppeeiere til en fil som vist nedenfor:

    I Ubuntu, hvis ingen gruppe er opprettet, er gruppenavnet det samme som eieren av filen.

    For å opprette en gruppe bruker vi kommandoen addgroup. For å legge til en gruppe kalt redaktører, utfør følgende kommando og oppgi et passord når du blir bedt om det

    sudo addgroup editors

    sudo lar oss kjøre kommandoer som root-bruker, som er en superbruker med rettigheter til å utføre endringer som påvirker alle brukere av datamaskinen.

    For å legge til brukere i en gruppe bruker vi følgende syntaks:

    adduser <user> <group>

    Derfor utfører vi for å legge både belmont og madici til redaktørgruppen

    sudo adduser belmont editors
    sudo adduser madici editors

    For å se gruppene en bruker tilhører, kjør:

    groups <username>

    Resultatet av kommandoene ovenfor er vist nedenfor:

    La oss nå se på filattributter som forteller oss om filtypene og tillatelsen på filen. en.

    Filattributter i Linux

    I Linux består filattributter av nøyaktig ti tegn. Det første tegnet angir filtypen. Noen av de vanlige første tegnene som representerer forskjellige filer inkluderer:

    • d indikerer en katalog
    • – indikerer en vanlig fil, f.eks. tekstfiler
    • c indikerer en spesialfil med tegn
    • l indikerer en symbolsk lenke
    • b indikerer en blokkspesiell fil

    De resterende ni tegnene brukes til å vise tillatelsene til eieren, gruppeeieren og andre brukere. De ni karakterene er delt inn i grupper på tre. Den første gruppen indikerer tillatelsene til eieren, den andre gruppen indikerer tillatelsene til gruppeeieren og de tre siste indikerer tillatelsene for andre, det vil si alle andre brukere på datamaskinen.

    Tillatelser for hver kategori er angitt som starter med lesing, deretter skriving og til slutt utføringstillatelsen. Lesetillatelsen er angitt med bokstaven r, skrivetillatelse med bokstaven w, og utfør tillatelse med bokstaven x.

      Hvordan spille The Room på Linux

    –-symbolet brukes i tilfelle en bruker ikke har en spesiell tillatelse. For eksempel betyr rw- for gruppeeieren at de har både lese- og skrivetillatelser, men at de ikke har utføringstillatelsen på den katalogen(d).

    Endre filtillatelser ved hjelp av symbolsk notasjon

    For å endre tillatelsene på en fil eller katalog bruker vi chmod-kommandoen og spesifiserer hvem vi endrer tillatelsene for.

    Dette kan være eieren av filen representert med bokstaven u for brukeren, gruppeeieren representert med bokstaven g, eller andre brukere representert med bokstaven o. Vi kan også målrette mot alle tre kategoriene brukere ved å bruke bokstaven a, som betyr alle de ovennevnte.

    Det neste vi spesifiserer er endringen vi gjør. For å legge til en tillatelse bruker vi +(plusstegn). For å fjerne en tillatelse bruker vi – (minustegn). Det siste vi gir er tillatelsene vi legger til ved å bruke r, w eller x for å representere de tre tilgjengelige tillatelsene.

    For å se dette i aksjon, lag en katalog kalt bøker ved å bruke kommandoen nedenfor

    mkdir books

    Skriv inn, eller «cd» i katalogen:

    cd books

    Lag en fil kalt readList.txt

    touch readingList.txt

    Lang liste innholdet i bokkatalogen ved å utføre:

    ls -l

    Utgangen er som vist:

    Filen vi opprettet er en vanlig fil, indikert med først –, eieren og gruppeeieren har lese- og skrivetillatelser, mens andre brukere kun har lesetillatelse. For å gi andre brukere tillatelse til å skrive til filen, vil vi utføre følgende kommando:

    chmod o+w readingList.txt

    For å se om tillatelsene for andre brukere er endret, kjør

    ls -l

    Produksjon:

    Legg merke til at filtillatelsen til andre brukere har endret seg fra r– til rw- som betyr at de nå har skrivetillatelse.

    For å legge til utførelsestillatelser til eieren (brukeren) av filen, kjør:

    chmod u+x readingList.txt

    For å fjerne skrivetillatelser fra gruppeeierne, kjør:

    chmod g-w readingList.txt

    For å fjerne lesetillatelser fra alle brukere slik at ingen kan se filen, kjør:

    chmod a-r readingList.txt

    For å legge tilbake lesetillatelse for eieren av filen, kjør:

    chmod u+r readingList.txt

    For å legge til en skrive- og utføringstillatelse til gruppeeieren av filen, kjør:

    chomod g+wx readingList.txt

    Endre tillatelser ved å bruke oktal notasjon

    I Linux har hver av de tre tilgjengelige tillatelsene bare to mulige verdier. Lesetillatelsen kan bare være r eller – , skrivetillatelsen kan bare være w eller –, og utføringstillatelsen kan bare være x eller –.

    Derfor kan disse tillatelsene tenkes å være enten på eller av, og derfor representeres ved hjelp av binære tall, som bare har to tilgjengelige verdier. Det er 1 for på eller sant og 0 for av eller usant. Der kan en tillatelse som rw– representeres som 110 ved bruk av binære tall.

    Derfor, for en gitt kategori av brukere, er tre binære tall nok til å presentere alle deres tillatelser. For eksempel kan tillatelsen for eieren, gruppen og andre rwxrw-r– representeres som 111110100 ved å bruke et binært tall.

      Se på stjernene på din Linux-PC med Stellarium

    Men for å unngå å skrive binært tall, som er langt og lett forvirrende, er et bedre alternativ å bruke oktale tall.

    Oktale tall har en base på 8 og har dermed bare 8 mulige verdier. Hvert oktaltall tilordnes nøyaktig tre binære sifre.

    Derfor kan en tillatelse som rw- representeres som 110 i binær. Den oktale ekvivalenten til 110 er 6, og dermed kan 6 brukes til å representere rw-. Oktale tall kan brukes til å representere lese-, skrive- og utføringstillatelsene til eieren, gruppen og andre som vist nedenfor:

    I stedet for å skrive lange binære sifre, er det bedre å representere tillatelser ved å bruke oktale tall. Derfor er alle tillatelsene til eieren, gruppen og andre representert ved hjelp av enkelt oktale tall, som vist i diagrammet ovenfor.

    Fordelen med å bruke den oktale notasjonen for å angi tillatelser er at den lar deg angi tillatelsen for alle brukerne dine samtidig, i motsetning til i symbolsk notasjon, hvor du bare kan angi tillatelsen til en enkelt bruker om gangen.

    Men å bruke oktal notasjon tar litt tid og øvelse for å kunne huske hva hvert oktaltall løser seg til. Når det er sagt, referer gjerne til diagrammet ovenfor når du bruker oktal notasjon. La oss se på flere eksempler på endring av tillatelser ved å bruke oktalnotasjonen

    For å gi alle brukere, det vil si eieren, gruppeeieren og andre brukere, lese, skrive og utføre tillatelse til readList.txt, kjør:

    chmod 777 readingList.txt

    For å sjekke om tillatelsene er endret, kjør:

    ls -l

    Produksjon:

    total 0
    -rwxrwxrwx 1 madici madici 0 Sep  6 05:45 readingList.txt

    Legg merke til at nå har eieren, gruppen og andre brukere tillatelse til å lese, skrive og kjøre readList.txt.

    For å fjerne skrivetillatelser fra både gruppeeieren og andre, kjør:

    chmod 755 readingList.txt

    Slik fjerner du utføringstillatelsen fra eieren og andre utfører:

    chmod 654 readingList.txt

    Spesielle tillatelser i Linux

    Linux har tre spesielle tillatelser som kan brukes på filer og kataloger i tillegg til standard lese-, skrive- og utføringstillatelser. Disse tillatelsene gir avansert funksjonalitet for tilgangskontroll og lar brukere med færre rettigheter utføre filer og kommandoer med høyere rettigheter, akkurat som eieren av filen eller gruppeeieren.

    De spesielle tillatelsene inkluderer:

    • Set User ID (SUID) – SUID-tillatelsen lar en bruker kjøre en fil eller et program med rettighetene til eieren av, og ikke til brukeren som kjører den. Dette er nyttig når standardbrukere trenger å utføre oppgaver som krever økte rettigheter.
    • Sett gruppe-ID (SGID) – SGID-tillatelsen lar en bruker kjøre en fil med tillatelsene til gruppeeieren av filen, i stedet for tillatelsene til deres faktiske gruppe.
    • Sticky Bit – Den sticky biten er tillatelse vanligvis satt til kataloger for å sikre at filer i katalogen bare kan slettes av den faktiske eieren av katalogen, eieren av den aktuelle filen eller rotbrukeren.

    De tre spesielle tillatelsene kan brukes sammen med standardtillatelsene: lese, skrive og utføre.

    Konklusjon

    Tillatelser er et viktig konsept i Linux, selv om datamaskinen din ikke har flere brukere. Å forstå tillatelse er viktig for å sikre kontroll, sikkerhet og personvern for dataene som er lagret i et Linux-system og dets funksjonalitet. Vurder derfor å gjøre deg kjent med tillatelser ved å praktisere det du har lært om tillatelser i denne artikkelen.

    Du kan også utforske hvordan du bruker Linux-kommandoer på Windows.