Chmod Command og Linux File Tilladelser forklaret

Hvis du vil administrere filtilladelser korrekt på ethvert Linux-operativsystem, skal du kende chmod-kommandoen.

Hvis du vil administrere filtilladelser korrekt på ethvert Linux-operativsystem, skal du kende chmod-kommandoen.
Reklame

Så du har fundet en smag af Linux, som du kan lide, men nu er du forvirret, fordi du ikke har den svageste anelse om terminalkommandoer og Linux-filtilladelser?

Eller måske har du et websted, der er hostet på en Linux-server, og du har kørt ind i nogle problemer med filtilladelse, der kun kan løses med nogle kommandolinjemagi.

Uanset hvad, en af ​​de mest vigtige Linux-kommandoer til at lære en AZ af Linux - 40 vigtige kommandoer, du bør vide en AZ af Linux - 40 vigtige kommandoer, du bør vide, Linux er det ofte ignorerede tredje hjul til Windows og Mac. Ja, i løbet af det sidste årti har open source-operativsystemet fået en masse trækkraft, men det er stadig langt fra at blive betragtet ... Læs mere er en lille, men kraftig kommando kaldet chmod . Men før vi forklarer, hvad kommandoen gør, skal vi først forstå lidt om, hvordan Linux håndterer filsikkerhed.

Grundlæggende om Linux File Tilladelser

Linux operativsystemer er faktisk Unix-lignende systemer (forstå Linux vs Unix), og Unix-lignende systemer tilgang til filtilladelser som sådan:

Hver fil har en ejer, som bestemmer filens "brugerklasse". Hver fil har også en gruppe, som bestemmer filens "gruppeklasse." Enhver systembruger, som ikke er ejer og ikke tilhører samme gruppe, er fast besluttet på at være andre .

Alle filer på Unix-lignende systemer har tilladelser tildelt til alle tre klasser, og disse bestemmer hvilke handlinger der kan tages af de nævnte klasser for den givne fil.

De tre handlinger, der er tilgængelige på et Unix-lignende system, er: læs (evnen til at åbne og se indholdet af filen), skrive (evnen til at åbne og ændre indholdet af en fil) og udføre (evnen til at køre filen som et eksekverbart program).

Med andre ord afgør en fils tilladelser om eller ej:

  • Ejeren kan læse, skrive og udføre filen.
  • Gruppen kan læse, skrive og udføre filen.
  • Enhver anden kan læse, skrive og udføre filen.

Linux-filtilladelser kan vises i to formater.

Det første format kaldes symbolsk notation, som er en streng på 10 tegn: et tegn der repræsenterer filtypen, og derefter ni tegn, der repræsenterer filen læses (r), skriver (w) og udfører (x) tilladelser i rækkefølge af ejer, gruppe og andre. Hvis ikke tilladt, bruges dash symbolet (-).

For eksempel:

-rwxr-xr-- 

Det betyder, at det er en almindelig fil med læsning, skrivning og udførelse af tilladelser til ejeren; læs og udfør tilladelser til gruppen og læs kun tilladelser for alle andre.

Det andet format kaldes numerisk notation, som er en streng med tre cifre, der hver repræsenterer henholdsvis bruger, gruppe og andre tilladelser. Hvert ciffer kan variere fra 0 til 7, og hvert cifrets værdi opnås ved at opsummere klassens tilladelser:

  • 0 betyder ingen tilladelser tilladt.
  • +1, hvis klassen kan udføre filen.
  • +2 hvis klassen kan skrive til filen.
  • +4 hvis klassen kan læse filen.

Med andre ord slutter betydningen af ​​hver cifferværdi til at være:

  • 0: Ingen tilladelse
  • 1: Udfør
  • 2: Skriv
  • 3: Skriv og udfør
  • 4: Læs
  • 5: Læs og udfør
  • 6: Læs og skriv
  • 7: Læs, skriv og udfør

Så ovenstående eksempel ( -rwxr-xr-- ) ville være 754 i numerisk notation.

Det er Linux-filtilladelser i et nøddeskal.

Hvad er Chmod?

På Unix-lignende systemer er chmod en systemniveaukommando, der står for "change mode" og giver dig mulighed for manuelt at ændre tilladelsesindstillingerne for en fil.

Ikke at forveksle med chown, hvilket er en anden systemniveau kommando på Unix-lignende systemer, der står for "Change Owner" og lader dig tildele ejerskab af en fil til en anden bruger, eller chgrp, som står for "Change Group" og tildeler en fil til en anden gruppe. Disse er vigtige at vide, men ikke så almindeligt anvendt som chmod.

Hvad betyder Chmod 644?

Indstilling af en fils tilladelser til 644 gør det så kun ejeren kan få adgang til og ændre filen, som de vil have, mens alle andre kun kan få adgang uden at ændre, og ingen kan udføre filen - ikke engang ejeren. Dette er den ideelle ramme for filer, der er offentligt tilgængelige, fordi det balancerer fleksibilitet med sikkerhed.

Hvad betyder Chmod 755?

Indstilling af en fils tilladelser til 755 er stort set den samme som 644, bortset fra at alle også har udførelsesrettigheder. Dette bruges hovedsagelig til offentligt tilgængelige mapper, fordi den tilladte tilladelse er nødvendig for at kunne skifte til en mappe.

Hvad betyder Chmod 555?

Indstilling af en fils tilladelser til 555 gør det sådan, at filen ikke kan ændres overhovedet af alle undtagen systemets superbruger (lær mere om Linux superbrugeren Hvad er SU & hvorfor er det vigtigt at bruge Linux effektivt? Hvad er SU & hvorfor er det Vigtigt at bruge Linux effektivt? Linux SU eller root brugerkonto er et kraftfuldt værktøj, som kan være nyttigt, når det bruges korrekt eller ødelæggende, hvis det bruges uaktsomt. Lad os se på hvorfor du bør være ansvarlig, når du bruger SU. Læs mere). Dette er ikke så almindeligt anvendt som 644, men det er stadig vigtigt at vide, fordi indstillingen for læsning kun forhindrer utilsigtede ændringer og / eller manipulation.

Hvad betyder Chmod 777?

Indstilling af en fils tilladelser til 777 gør det, så alle kan gøre alt, hvad de vil have med filen. Dette er en stor sikkerhedsrisiko, især på webservere! Bogstavelig talt kan alle få adgang til filen, ændre det, som de vil have, og udføre det på systemet. Du kan forestille dig den potentielle skade, hvis en rogue-bruger fik hænderne på det.

Sådan bruger du Chmod på Linux

Kommandoen chmod har et simpelt format:

 chmod [permissions] [file] 

Tilladelser kan gives i numerisk notation, hvilket er det bedste format, der skal bruges, når du vil tildele specifikke tilladelser til alle klasser:

 chmod 644 example.txt 

Tilladelser kan også gives i symbolsk notation, hvilket er nyttigt, når du kun vil ændre tilladelserne for en bestemt klasse. For eksempel:

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

Du kan ændre tilladelser for flere klasser, f.eks. Dette eksempel, som sætter ejeren til at læse / skrive / udføre, men gruppen og andre at læse / udføre:

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

Når du tildeler de samme tilladelser til flere klasser, kan du kombinere dem:

 chmod u=rwx, go=rw example.txt 

Men skønheden ved at bruge symbolsk notation skinner, når du kun vil tilføje eller fjerne tilladelsen til en bestemt handling for en bestemt klasse.

For eksempel tilføjer dette tilladelsen til filens ejer:

 chmod u+x example.txt 

Og dette fjerner skrive og udføre tilladelser for andre brugere:

 chmod o-wx example.txt 

Endelig, hvis du vil anvende et bestemt sæt tilladelser til alle filer og mapper i en bestemt mappe (dvs. et rekursivt chmod), skal du bruge -R-indstillingen og målrette mod en mappe:

 chmod -R 755 example_directory 

Mens chmod-kommandoen ser lidt skør ved første øjekast, er det faktisk ret simpelt og helt logisk. Hvis du forstår ovenstående, har du grundlæggende behersket chmod!

Lær mere om Mastering Linux

Kommandoer som chmod, chown og chgrp er bare toppen af ​​Linux-isbjerget. Hvis du er helt ny i operativsystemet, anbefaler vi at tjekke disse pæne tricks til Linux nybegyndere samt disse Linux kommandoer, du aldrig skal køre.

Men vigtigst af alt vil du gøre det bedste ved at tjekke vores omfattende nybegyndervejledning til Ubuntu og Linux Ubuntu: En nybegyndervejledning Ubuntu: En nybegyndervejledning Nysgerrig om Ubuntu, men ikke sikker på, hvor du skal starte? Alt, hvad du måske vil kunne komme i gang med den nyeste version af Ubuntu, er lige her, skrevet i letforståelig, almindelig engelsk. Læs mere, som vil lære dig alt, hvad du behøver at vide for at komme i gang og fortrolig nok til at føle sig godt tilpas.

In this article