Linux chmod Eksempel

I denne hurtige vejledning vil vi se, hvordan vi kan bruge chmod-kommandoen i en Ubuntu-maskine til at finde, ændre og fjerne brugertilladelser fra specifikke filer, der findes i brugerens filsystem. Lad os lege os igennem forskellige betingelser, så vi kan mestre grundlæggende chmod-kommandoer, som kan gøre vores hverdag lettere med Ubuntu.

Linux-tilladelser

Linux-tilladelser er et stort sæt regler, som er enkle at forstå, hvis vi fatter de grundlæggende rettigheder. De tre hovedpunkter, som vi skal forstå for at vide, hvordan Linux-tilladelser fungerer, er:

  • Det element, som tilladelserne blev defineret for
  • Hvilke handlinger der kan udføres med en tilladelse
  • Hvem kan udføre hvilke handlinger
  • Der er to grundlæggende elementer i Linux Filesystem:

    1. Kataloger
    2. Filer

    Der er tre handlinger, der kan udføres:

    1. Læse
    2. Skrive
    3. Skriv
    4. Udføre. Ud over at udføre scripts er de samme handlinger nødvendige for at oprette filer og andre mapper i den

    Brugere, der kan udføre disse handlinger, er:

    1. Ejer af filen
    2. Gruppe af ejeren af filen
    3. Brugere, der ikke er tilknyttet ejergruppen eller ejeren selv

    For at se tilladelser relateret til en fil skal du køre følgende kommando:

    ls -l

    Her er, hvad vi får tilbage med denne kommando:

    Find tilladelse til filer

    Find tilladelse til filer

    I outputtet præsenterer de første 10 tegn tilladelsen til filen:

  • Første tegn, som i dette tilfælde er ‘-‘, betyder, at der er tale om en fil. For en mappe ville det have været et ‘d’.
  • Næste ni tegn repræsenterer tilladelser for henholdsvis ejeren, ejerens gruppe og andre.
  • Ændring af tilladelser

    Syntaksen for ændring af tilladelser til en fil ser således ud:

    chmod permissions file …

    Oktal repræsentation for tilladelser

    Vi kan præsentere tilladelser som et oktaltal tal. Hvis vi f.eks. vil indstille læse-, skrive- & udførelsestilladelser til ejeren, læse- & skrivetilladelser til dennes gruppe og ingen tilladelser til andre til en hello.txt-fil, vil vi udføre følgende kommando:

    sudo chmod 760 hello.txt

    Når vi udfører ovenstående kommando og forsøger at læse en fil med en ikke-ejerkonto ved hjælp af følgende kommando:

    sudo -u notowner-user more hello.txt

    Vi får følgende fejl:

    hello.txt: Tilladelse nægtet

    Men hvor kommer dette nummer fra? Hvert ciffer i dette tal repræsenterer et sæt tilladelser. Lad os se, hvordan de blev udledt:

    • 0: Betyder ingen tilladelse
    • 1: Betyder udførelsestilladelse
    • 2: Betyder skrivetilladelse
    • 4: Betyder læsetilladelse

    For at tildele læse-, skrive- & udførelsestilladelser til ejeren, tildelte vi ham tallet 7(= 4 + 2 + 1). Lad os forstå dette bedre i en tabel med cifre:

    Tal Binary Læse Skrive Udføre
    0 000 NOK NOK NOK
    1 001 NEJ NEJ JA
    2 010 NEJ NEJ JA NEJ
    3 011 NEJ JA JA
    4 100 JA NEJ NEJ
    5 101 JA NEJ JA
    6 110 JA JA Ja nej
    7 111 Ja Ja Ja

    Ovenstående tabel er meget tydelig med hensyn til, hvad hver enkelt repræsenterer i form af filtilladelser.

    Karakterrepræsentation for tilladelser

    Vi kan præsentere tilladelser som et oktaltal. For at indstille læse-, skrive- & udførelsestilladelser for ejeren, læse- & skrivetilladelser for dennes gruppe og ingen tilladelser for andre til en hello.txt-fil udfører vi f.eks. følgende kommando:

    sudo chmod u=rwe,g=rw,o-rwx hello.txt

    For at tilføje tilladelser til en eksisterende bruger kan vi også udføre:

    sudo chmod g+w hello.txt

    Her blev skrivetilladelsen tildelt til brugergruppen for ejeren af filen.

    Rekursive tilladelsesændringer

    Vi kan også ændre tilladelser for filer, der findes i en bestemt mappe, med en enkelt kommando. Hvis du vil ændre tilladelserne for hver enkelt fil og mappe i en given mappe på én gang, skal du bruge sudo chmod med -R:

    sudo chmod 777 Directory/*

    Vi kan se følgende output, som tydeligt afspejler ændringen i filtilladelserne:

    Rekursivt ændre filtilladelser

    Rekursivt ændre filtilladelser

    Slutning

    I denne lektion har vi set på, hvordan vi kan ændre en filtilladelser og om nødvendigt gøre det rekursivt. Vi forstod de grundlæggende begreber bag hvordan Linux-tilladelser, som kan hjælpe os meget i vores daglige arbejde.

    Skriv en kommentar