Hur man ändrar filtillstånd i Linux

Linux, som andra operativsystem, organiserar sig med kataloger och filer som kan komma åt, ändras eller köras. För att förhindra intern anarki ger Linux olika nivåer av tillstånd för att interagera med dessa filer och kataloger. Om du vill ändra dessa behörigheter är kommandot chmod (ändringsläge) det du behöver.


Introduktion av chmod Command

Vad kan chmod låta dig ändra? Tillåtelse kan beviljas eller vägras till olika användare för att läsa (r) en fil, skriva (w) till filen och utföra (x) filen för ett program. Tillståndssystemet för kataloger är mycket lika: “r” för att läsa kataloginnehållet, “w” för att skriva in i katalogen genom att skapa filer eller underkataloger och “x” för att gå in i den katalogen.

Dessa behörighetsnivåer kan definieras för ägaren (u) för filen eller katalogen, gruppen (g) som ägaren tillhör, de andra (o) användare eller helt enkelt alla (a) användare samtidigt..

Använda kommandot ls för en lista med långt format

Om du till exempel använder kommandot ls med alternativet -l (för en lista med långt format) på en given fil som my_app, ser du utdata som liknar detta:

1 $ ls -l my_app

ELLER

1 -rwxr-x – x 1 hadley tech 729 15 mar 15 08:01 my_app

Den allra första karaktären (““I det här fallet) visar att enheten” my_app “verkligen är en fil. Om det hade varit en katalog, skulle vi ha sett d som den allra första karaktären. Därefter ser vi tre massor av tre tecken (rwxr-x – x). De första tre (rwx) betyder att ägaren till filen (benämnd ”Hadley” lite längre längs) har tillåtelse att läsa, skriva och köra my_app. De kommande tre (r-x) indikerar att medlemmar i samma grupp som Hadley (den “tekniska” gruppen) kan läsa och köra my_app, men inte kan skriva eller ändra den. De tre sista tecknen (–x). betyder att andra användare helt enkelt kan köra my_app, men varken läser eller skriver till det.

Chmod Command in Action

Så hur använder vi chmod för att ändra dessa behörigheter? Vi kommer att använda ett kommando som:

1 $ chmod 771 my_app

ELLER

1 $ chmod g + w my_app

I sammanhanget ovan betyder dessa två kommandon faktiskt samma sak. För att se varför måste vi förstå att chmod har en egenhet. Den accepterar instruktioner för att ändra filbehörigheter för olika användare antingen genom att använda kombinationer av dessa bokstäver (text eller symboliskt format), eller genom att använda ett system med siffror (numeriskt eller oktalt format). Så här motsvarar de två systemen:

  • Tillåtelse att läsa, r, ges det numeriska värdet 4
  • Tillstånd att skriva, w, ges värdet 2
  • Tillståndet att utföra, x, ges värdet 1

Så i den ursprungliga situationen i vårt exempel ovan har Hadley, som är ägaren av filen, tillåtelse att göra allt (rwx), eller i numeriska termer, har tillstånd 4 + 2 + 1 = 7. På liknande sätt har andra medlemmar av Hadleys grupp, “tech”, har tillåtelse att läsa och köra filen, men inte skriva till den. Så de har r-x-tillstånd, eller numeriskt har de 4 + 1 vilket gör 5. Alla andra har bara –x eller 1. Vår sträng med tecken -rwxr-x – x blir då 751 i siffror.

Så vårt kommando chmod 771 my_app ovan ändrar helt enkelt 751 behörighetsnivån till 771. Med andra ord lägger vi bara till skrivtillståndet (w eller 2) till medlemmar i Hadleys grupp, “tech.” Nu blir betydelsen av den andra versionen av samma kommando också tydlig: g + w betyder helt enkelt “lägg till skrivtillstånd till medlemmar i Hadleys grupp”, precis som tidigare.

Om fullständig behörighet att läsa, skriva och utföra skulle ges till alla, så skulle de två formerna av chmod-kommandot se ut:

1 $ chmod 777 my_app

ELLER

1 $ chmod ugo + rwx my_app

Och de skulle båda ha samma effekt.

Ytterligare alternativ för chmod Command

Chmod-kommandot har också alternativ som kan vara användbara att veta om. De inkluderar:

  • -R för att rekursivt tillämpa samma behörigheter på en katalog, och alla underkataloger och filer i katalogen och dess olika underkataloger
  • -c för att rapportera när en ändring görs, -f för att undertrycka felmeddelanden, och –v (verbos) för att mata ut en diagnostik för varje bearbetad fil eller katalog

Till exempel,

1 $ chmod -R a + rwx / mydir

Detta skulle säkerställa att alla (a) hade fullständiga läs-, skriv- och körrättigheter för mydir och alla underkataloger och filer i den.

Fotokällor: newsyaps.com

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Adblock
    detector