Forståelse af filtilladelser: Hvad betyder "Chmod 777"?
Hvis du er en Linux-bruger eller en webmaster, der administrerer din egen hjemmeside (som sandsynligvis er vært på en Linux-server), vil du sikkert komme over en situation, når du forsøger at uploade en fil eller ændre et dokument og modtage fejlen " Du gør har ikke tilladelserne til at uploade filen i mappen ". Og efter nogle googling er løsningen ofte lige så nem som at indstille filtilladelsen til "775" eller "777". Så hvad betyder "777" præcis? Og hvorfor skal det være '7' og ikke '8' eller '9'?
Relateret : Sådan omdøber du filer i Linux
Forståelse af filtilladelser
Unix-systemer (herunder Linux og Mac OS X) leveres med en filstyringsmekanisme til at bestemme, hvem der kan få adgang til en bestemt fil eller mappe og hvilke handlinger de kan gøre med det. Der er to dele til filkontrolmekanismen, nemlig klasser og tilladelser . Klasser bestemmer hvem der kan få adgang til filen, mens tilladelserne bestemmer, hvilken type handling brugeren kan gøre for filen.
Der er tre klasser - ejer, gruppe, andre.
- Ejeren er som regel skaberen af filer / mapper. I Linux ejes normalt filer eller mapper, du har oprettet i din hjemmemappe, medmindre du specifikt ændrer ejerskabet.
- Gruppen indeholder en gruppe brugere, der har samme tilladelser og brugerrettigheder.
- Andre betyder offentligheden.
Hvad angår tilladelser, er der 3 typer handlinger, som du kan udføre på en fil / mappe. Du kan enten læse, skrive eller udføre .
- Læs - Du kan kun se filen, men kan ikke ændre indholdet af filen. Når du bruger Mappe, kan du kun se filerne i mappen, men du kan ikke slette fra eller tilføje filer til mappen.
- Skriv - Du kan redigere og ændre filen. For mapper kan du slette og tilføje filer i mappen.
- Execute - Execute bruges hovedsagelig, når du skal køre filen (almindeligvis brugt, når du skal køre et script).
Når du kombinerer klasserne og tilladelserne, vil du være i stand til at kontrollere, hvem der har adgang til filen, og hvilke handlinger de kan gøre med det.
For eksempel vil ejeren normalt have alle tilladelserne (læs, skrive og udføre) for at få adgang til filen. Hvis du ikke er ejer af filen / mappen, skal du ændre ejerskabet af filen til dit navn eller ændre tilladelserne fra gruppen eller andre til at læse, skrive eller udføre. På en webserver, hvis du ikke kan uploade en fil, er det sandsynligvis fordi du ikke er ejer af destinationsmappen, eller du har ikke tilstrækkelige tilladelser til at tilføje filer til mappen.
Hvad handler nummeret om?
Med den grundlæggende forståelse af klasserne og tilladelserne, lad os dykke ind i det yderligere og se, hvordan "777" eller "775" kommer til.
Hver fil og mappe indeholder en 8-bit data, der styrer tilladelserne. I sin grundlæggende binære form vil det være "000", hvilket betyder, at der ikke gives tilladelse til nogen formular. Når du sætter en "Læs" tilladelse, vil den føje 4-bit til dataene, hvilket gør det "100" (i binært format) eller en "4" i det sædvanlige decimaltal. Indstilling af "Skriv" -tilladelse vil tilføje 2-bit til dataene, hvilket gør det "010" og "2" i decimalform. Endelig tilføjer en "Execute" -tilladelse 1-bit til dataene, hvilket vil resultere i "001" eller "1" i decimalform. Kort sagt:
- Læs svarer til '4'.
- Skriv svarer til '2'.
- Execute svarer til '1'
Når vi ønsker at indstille tilladelser, tilføjer vi netop nummeret. For eksempel, for at indstille tilladelserne til at læse og skrive, bruger vi '6' (4 + 2) for tilladelsen. For at læse, skrive og udføre, vil vi bruge '7' (4 + 2 + 1) for tilladelsen. Her er den forskellige permutation:
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
Afhængigt af de tilladelser, du vil give til filen, skal du bare indstille nummeret i overensstemmelse hermed.
Hvad med de 3 cifre '777'? Tja, det første ciffer er tildelt Ejer, det andet ciffer er tildelt gruppen og det tredje ciffer er tildelt de andre. Så for en fil med "777" tilladelse kan alle læse, skrive og udføre filen. Her er nogle af de almindeligt anvendte tilladelser:
- 755 - Dette sæt tilladelse bruges almindeligvis i webserveren. Ejeren har alle tilladelser til at læse, skrive og udføre. Alle andre kan kun læse og udføre, men kan ikke foretage ændringer af filen.
- 777 - Alle kan læse skrive og udføre. På en webserver er det ikke tilrådeligt at indstille tilladelse til 777 for dine filer og mapper, da det giver nogen mulighed for at tilføje skadelig kode til din server. I nogle tilfælde skal du dog indstille 777 tilladelser, før du kan uploade en fil til serveren (for eksempel at uploade billeder i WordPress)
- 644 - Kun ejeren kan læse og skrive. Alle andre kan kun læse. Ingen kan udføre filen.
- 655 - Kun ejeren kan læse og skrive, men ikke udføre filen. Alle andre kan læse og udføre, men kan ikke ændre filen.
Indstilling af filtilladelser i kommandolinje
I Linux kan du nemt ændre filtilladelser ved at højreklikke på filen eller mappen og vælge "Egenskaber". Der vil være en fanebladet Tilladelse, hvor du kan ændre filtilladelserne. I terminalen er kommandoen til brug for at ændre filtilladelse " chmod
". Kort sagt betyder "chmod 777", at filen kan læses, skrives og eksekveres af alle.
chmod 775 / path / to / file
Forhåbentlig kan denne artikel hjælpe dig med at forstå bedre om filtilladelserne i Unix-systemet og oprindelsen af det magiske nummer "777".
Bliv proff på Linux med denne bundle
Linux er go-to-operativsystemet til programmører og computer-geeks på grund af sin rene computerkraft og utrolige customizability. Men det gør det også meget sværere at lære Linux-rebene. Derfor bør du investere i Linux Power User Bundle. Kræver absolut nul tidligere viden, dette kursus bundle vil lære dig fra bunden til at blive en pro ved at bruge Linux. I en begrænset periode kan det være din for kun $ 19.