Chmod-kommando- og Linux-filtillatelsene forklart

Hvis du vil administrere filtillatelser på et hvilket som helst Linux-operativsystem, må du kjenne chmod-kommandoen.

Hvis du vil administrere filtillatelser på et hvilket som helst Linux-operativsystem, må du kjenne chmod-kommandoen.
Annonse

Så du har funnet en smak av Linux som du liker, men nå er du forvirret fordi du ikke har den svakeste anelse om terminalkommandoer og Linux-filtillatelser?

Eller kanskje du har et nettsted som er vert på en Linux-server, og du har kjørt inn i noen problemer med filtillatelse som bare kan løses med noen kommandolinjemagic.

Uansett, en av de mest essensielle Linux-kommandoene for å lære En AZ av Linux - 40 Essential Commands Du bør vite en AZ av Linux - 40 Essential Commands Du bør vite Linux er det ofte ignorerte tredje hjulet til Windows og Mac. Ja, i løpet av det siste tiåret har operativsystemet for åpen kildekode fått mye trekkraft, men det er fortsatt langt fra å bli vurdert ... Les mer er en liten, men kraftig kommando kalt chmod . Men før vi forklarer hva kommandoen gjør, må vi først forstå litt om hvordan Linux håndterer filsikkerhet.

Grunnleggende om Linux-filtillatelser

Linux-operativsystemer er egentlig Unix-lignende systemer (forstå Linux vs Unix), og Unix-lignende systemer tilnærmer seg filtillatelser som:

Hver fil har en eier som bestemmer filens brukerklasse. Hver fil har også en gruppe som bestemmer filens "gruppeklasse." Enhver systembruker som ikke er eier og ikke tilhører samme gruppe, er fast bestemt på å være andre .

Alle filer på Unix-lignende systemer har tillatelser tildelt til alle tre klassene, og disse bestemmer hvilke handlinger som kan tas av de nevnte klassene for den oppgitte filen.

De tre handlingene som er tilgjengelige på et Unix-lignende system er: lese (muligheten til å åpne og vise innholdet i filen), skrive (evnen til å åpne og endre innholdet i en fil) og utføre (evnen til å kjøre filen som et kjørbart program).

Med andre ord, en fils tillatelser bestemmer om eller ikke:

  • Eieren kan lese, skrive og utføre filen.
  • Gruppen kan lese, skrive og utføre filen.
  • Alle andre kan lese, skrive og utføre filen.

Linux-filtillatelser kan vises i to formater.

Det første formatet kalles symbolsk notasjon, som er en streng på 10 tegn: ett tegn som representerer filtypen, deretter ni tegn som representerer filens lese (r), skrive (w) og utføre (x) tillatelser i rekkefølge av eier, gruppe og andre. Hvis ikke tillatt, brukes dash symbolet (-).

For eksempel:

-rwxr-xr-- 

Dette betyr at det er en vanlig fil med lese, skrive og utføre tillatelser for eieren les og utfør tillatelser for gruppen og bare les tillatelser for alle andre.

Det andre formatet kalles numerisk notasjon, som er en streng med tre sifre som henholdsvis representerer bruker, gruppe og andre tillatelser. Hvert siffer kan variere fra 0 til 7, og hvert siffers verdi er oppnådd ved å oppsummere klassens tillatelser:

  • 0 betyr ingen tillatelser tillatt.
  • +1 hvis klassen kan utføre filen.
  • +2 hvis klassen kan skrive til filen.
  • +4 hvis klassen kan lese filen.

Med andre ord, betyr meningen med hver sifferverdi å være:

  • 0: Ingen tillatelse
  • 1: Utfør
  • 2: Skriv
  • 3: Skriv og utfør
  • 4: Les
  • 5: Les og utfør
  • 6: Les og skriv
  • 7: Les, skriv og utfør

Så eksemplet ovenfor ( -rwxr-xr-- ) ville være 754 i numerisk notasjon.

Det er Linux-filtillatelser i et nøtteskall.

Hva er Chmod?

På Unix-lignende systemer er chmod en systemnivåkommando som står for "endringsmodus" og lar deg manuelt endre tillatelsesinnstillinger for en fil.

Ikke forveksles med chown, som er en annen systemnivåkommando på Unix-lignende systemer som står for "Change Owner", og lar deg tildele eierskap av en fil til en annen bruker, eller chgrp, som står for "Change Group" og tildeler en fil til en annen gruppe. Dette er viktig å vite, men ikke så vanlig som chmod.

Hva betyr Chmod 644?

Angi en fils tillatelser til 644 gjør det slik at eieren bare kan få tilgang til og endre filen, men de vil ha, mens alle andre bare kan få tilgang uten å endre, og ingen kan utføre filen - ikke engang eieren. Dette er den ideelle innstillingen for filer som er tilgjengelig for offentligheten, fordi det balanserer fleksibilitet med sikkerhet.

Hva betyr Chmod 755?

Angi en fils tillatelser til 755 er i utgangspunktet det samme som 644, bortsett fra at alle også har kjøringsrettigheter. Dette brukes hovedsakelig for offentlig tilgjengelige kataloger fordi det er nødvendig å utføre tillatelse for å kunne bytte til en katalog.

Hva betyr Chmod 555?

Angi en fils tillatelser til 555 gjør det slik at filen ikke kan endres i det hele tatt av alle, unntatt systemets superbruker (lære mer om Linux-superbrukeren Hva er SU og hvorfor er det viktig å bruke Linux effektivt? Hva er SU og hvorfor er det Viktig å bruke Linux effektivt? Linux SU eller root-brukerkontoen er et kraftig verktøy som kan være nyttig når det brukes riktig eller ødeleggende hvis det brukes uskyldig. La oss se på hvorfor du burde være ansvarlig når du bruker SU. Les mer). Dette er ikke så vanlig som 644, men det er fortsatt viktig å vite fordi skrivebeskyttet innstilling forhindrer utilsiktede endringer og / eller manipulering.

Hva betyr Chmod 777?

Innstilling av en fils tillatelser til 777 gjør det slik at alle kan gjøre alt de vil ha med filen. Dette er en stor sikkerhetsrisiko, spesielt på webservere! Bokstavelig talt kan alle få tilgang til filen, endre den, men de vil, og utføre den på systemet. Du kan forestille deg den potensielle skaden hvis en skurkaktig bruker fikk hendene på den.

Slik bruker du Chmod på Linux

Chmod-kommandoen har et enkelt format:

 chmod [permissions] [file] 

Tillatelser kan gis i numerisk notering, som er det beste formatet som skal brukes når du vil tildele bestemte tillatelser for alle klasser:

 chmod 644 example.txt 

Tillatelser kan også gis i symbolsk notasjon, som er nyttig når du bare vil endre tillatelsene til en bestemt klasse. For eksempel:

 chmod u=rwx example.txt chmod g=rw example.txt chmod o=rw example.txt 

Du kan endre tillatelser for flere klasser, for eksempel dette eksempelet som setter eieren til å lese / skrive / utføre, men gruppen og andre å lese / kjøre:

 chmod u=rwx, g=rw, o=rw example.txt 

Når du tilordner de samme rettighetene til flere klasser, kan du kombinere dem:

 chmod u=rwx, go=rw example.txt 

Men skjønnheten ved å bruke symbolsk notasjon skinner når du bare vil legge til eller fjerne tillatelsen for en bestemt handling for en bestemt klasse.

For eksempel legger dette til kjøringsrettigheten for filens eier:

 chmod u+x example.txt 

Og dette fjerner skrive og utføre tillatelser for andre brukere:

 chmod o-wx example.txt 

Til slutt, hvis du vil bruke et bestemt sett med tillatelser til alle filer og mapper i en bestemt katalog (dvs. et rekursivt chmod), bruk alternativet -R og målrett mot en katalog:

 chmod -R 755 example_directory 

Mens chmod-kommandoen ser litt gal ut ved første øyekast, er det faktisk ganske enkelt og helt logisk. Hvis du forstår det ovennevnte, har du i utgangspunktet mestret chmod!

Lær mer om Mastering Linux

Kommandoer som chmod, chown og chgrp er bare toppen av Linux-isfjellet. Hvis du er helt ny i operativsystemet, anbefaler vi at du sjekker ut disse fine triksene til Linux nybegynnere, samt disse Linux-kommandoene du aldri burde løpe.

Men viktigst av alt, ville du gjøre det beste ved å sjekke ut vår omfattende nybegynners guide til Ubuntu og Linux Ubuntu: En nybegynners guide Ubuntu: En nybegynners guide Nysgjerrig om Ubuntu, men ikke sikker på hvor du skal begynne? Alt du muligens trenger for å komme i gang med den nyeste versjonen av Ubuntu er her, skrevet i lettforståelig, vanlig engelsk. Les mer, som vil lære deg alt du trenger å vite for å komme i gang og er kjent nok til å føle deg komfortabel.

In this article