Reklame
Så du har det fundet en smag af Linux, som du kan lide, men nu er du forvirret, fordi du ikke har den svageste ledetråd om terminalkommandoer og Linux-filtilladelser?
Eller måske har du et websted, der er vært på en Linux-server, og du har fundet nogle filtilladelsesproblemer, der kun kan løses med nogle kommandolinjemagier.
Uanset hvad, en af mest vigtige Linux-kommandoer at lære En A-Z af Linux - 40 væsentlige kommandoer, du burde kendeLinux er det ofte ignorerede tredje hjul til Windows og Mac. Ja, i løbet af det sidste årti har open source-operativsystemet fået meget trækkraft, men det er stadig langt fra at blive betragtet ... Læs mere er en lille, men kraftfuld kommando kaldet chmod. Men inden vi forklarer, hvad kommandoen gør, skal vi først forstå lidt om, hvordan Linux håndterer filsikkerhed.
Grundlæggende om Linux-filtilladelser
Linux-operativsystemer er faktisk Unix-lignende systemer (forstå Linux vs. Unix), og Unix-lignende systemer nærmer sig filtilladelser sådan:
Hver fil har en
ejer, der bestemmer filens "brugerklasse." Hver fil har også en gruppe, der bestemmer filens "gruppeklasse." Enhver systembruger, der ikke er ejeren og ikke hører til i den samme gruppe, er bestemt på at være det andre.Alle filer på Unix-lignende systemer har tilladelser tildelt til alle tre klasser, og disse bestemmer, hvilke handlinger der kan udføres af nævnte klasser for den givne fil.
De tre handlinger, der er tilgængelige på et Unix-lignende system, er: Læs (muligheden for at åbne og se indholdet af filen), skrive (muligheden for at åbne og ændre indholdet af en fil) og udføre (muligheden for at køre filen som et eksekverbart program).
Med andre ord bestemmer en fils tilladelser, hvorvidt:
- 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, derefter ni tegn der repræsenterer filens læse (r), skrive (w) og udføre (x) tilladelser i rækkefølge efter ejer, gruppe og andre. Hvis det ikke er tilladt, bruges dash-symbolet (-).
For eksempel:
-rwxr-xr--
Dette betyder, at det er en almindelig fil med læse, skrive og udføre tilladelser for ejeren; læse og udføre tilladelser for gruppen; og læs kun tilladelser for alle andre.
Det andet format kaldes numerisk notation, som er en streng med tre cifre, som 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 summere klassens tilladelser:
- 0 betyder ingen tilladelser tilladt.
- +1, hvis klassen kan køre filen.
- +2 hvis klassen kan skrive til filen.
- +4, hvis klassen kan læse filen.
Med andre ord ender betydningen af hver cifferværdi:
- 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 en nøddeskal.
Hvad er Chmod?
På Unix-lignende systemer chmod er en kommando på systemniveau, der står for “skifttilstand” og giver dig mulighed for manuelt at ændre tilladelsesindstillingerne for en fil.
Ikke at forveksle med chown, som er en anden kommando på systemniveau på Unix-lignende systemer, der står for "skift ejer" og giver dig mulighed for at tildele ejerskab af en fil til en anden bruger, eller chgrp, der står for “skift gruppe” og tildeler en fil til en anden gruppe. Disse er vigtige at vide, men ikke så ofte brugt som chmod.
Hvad betyder Chmod 644?
At indstille en fils tilladelser til 644 gør det, så kun ejeren kan få adgang til og ændre filen, uanset om de er ønsker, mens alle andre kun kan få adgang uden at ændre, og ingen kan udføre filen — ikke engang ejer. Dette er den ideelle indstilling for filer, der er offentligt tilgængelige, fordi det afbalancerer fleksibilitet med sikkerhed.
Hvad betyder Chmod 755?
At indstille en fils tilladelser til 755 er dybest set det samme som 644, bortset fra at alle også har udførte tilladelser. Dette bruges hovedsageligt til offentligt tilgængelige mapper, fordi udførelsestilladelsen er nødvendig for at blive til et bibliotek.
Hvad betyder Chmod 555?
Indstilling af en fils tilladelser til 555 gør det således, at filen overhovedet ikke kan ændres af nogen undtagen systemets superbruger (Lær mere om Linux-superbrugeren Hvad er SU og hvorfor er det vigtigt at bruge Linux effektivt?Linux SU- eller root-brugerkontoen er et magtfuldt værktøj, der kan være nyttigt, når det bruges korrekt eller ødelæggende, hvis det bruges hensynsløst. Lad os se på, hvorfor du skal 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 den skrivebeskyttede indstilling forhindrer utilsigtede ændringer og / eller manipulation.
Hvad betyder Chmod 777?
At indstille en fils tilladelser til 777 gør det, så enhver kan gøre hvad de vil med filen. Dette er en enorm sikkerhedsrisiko, især på webservere! Bogstaveligt talt kan enhver få adgang til filen, ændre den, uanset hvor de vil, og udføre den på systemet. Du kan forestille dig den potentielle skade, hvis en useriøs bruger fik deres hænder på det.
Sådan bruges Chmod på Linux
Chmod-kommandoen har et simpelt format:
chmod [tilladelser] [fil]
Tilladelser kan gives i numerisk notation, som er det bedste format, du kan bruge, når du vil tildele bestemte tilladelser til alle klasser:
chmod 644 eksempel.txt
Tilladelser kan også gives i symbolsk notation, hvilket er nyttigt, når du kun ønsker at ændre tilladelserne for en bestemt klasse. For eksempel:
chmod u = rwx eksempel.txt. chmod g = rw eksempel.txt. chmod o = rw eksempel.txt
Du kan ændre tilladelser til flere klasser, såsom dette eksempel, der sætter ejeren til at læse / skrive / udføre, men gruppen og andre til at læse / udføre:
chmod u = rwx, g = rw, o = rw eksempel.txt
Når du tildeler de samme tilladelser til flere klasser, kan du kombinere dem:
chmod u = rwx, go = rw eksempel.txt
Men skønheden ved at bruge symbolsk notation lyser, når du kun vil tilføje eller fjerne tilladelsen til en bestemt handling for en bestemt klasse.
For eksempel dette Tilføjer udføre tilladelse for filens ejer:
chmod u + x eksempel.txt
Og dette fjerner skrive og udføre tilladelser for andre brugere:
chmod o-wx eksempel.txt
Til sidst, hvis du vil anvende et bestemt sæt tilladelser til alle filer og mapper i et bestemt bibliotek (dvs. en rekursiv chmod), skal du bruge indstillingen -R og målrette et bibliotek:
chmod -R 755 eksempel_mappe
Mens chmod-kommandoen ser lidt skør ud ved første øjekast, er den faktisk ganske enkel og helt logisk. Hvis du forstår ovenstående, har du dybest set mestret chmod!
Lær mere om at mestre Linux
Kommandoer som chmod, chown og chgrp er bare spidsen af Linux-isbjerget. Hvis du er helt ny på operativsystemet, anbefaler vi, at du tjekker disse pæne tricks til Linux newbies såvel som disse Linux-kommandoer, du aldrig skal køre.
Men det vigtigste er, at du vil gøre det bedst ved at tjekke vores omfattende begyndervejledning til Ubuntu og Linux Ubuntu: En begynderguideEr du nysgerrig efter Ubuntu, men er du ikke sikker på, hvor du skal starte? Alt hvad du muligvis har brug for for at komme i gang med den nyeste version af Ubuntu er lige her, skrevet på letforståelig, almindelig engelsk. Læs mere , som lærer dig alt hvad du har brug for at vide for at komme i gang og være bekendt nok til at føle dig godt tilpas.
Joel Lee har en B.S. inden for datalogi og over seks års professionel skriftlig erfaring. Han er chefredaktør for MakeUseOf.