Annonse
Så det har du fant en smak av Linux du liker, men nå er du forvirret fordi du ikke har den svakeste anelse om terminalkommandoer og Linux-filtillatelser?
Eller kanskje har du et nettsted som er vert på en Linux-server og har problemer med filtillatelse som bare kan løses med en kommandolinjemagi.
Uansett, en av de viktigste Linux-kommandoene å lære En A-Z av Linux - 40 viktige kommandoer du burde viteLinux er det ofte ignorerte tredje hjulet til Windows og Mac. Ja, det siste tiåret har open source-operativsystemet fått mye trekkraft, men det er fremdeles langt fra å bli vurdert ... Les mer er en liten, men kraftig kommando som heter 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 faktisk Unix-lignende systemer (forstå Linux vs. Unix), og Unix-lignende systemer nærmer seg filtillatelser slik:
Hver fil har en Eieren, som bestemmer filens “brukerklasse.” Hver fil har også en
gruppe, som bestemmer filens "gruppeklasse." Enhver systembruker som ikke er eier og ikke hører til i samme gruppe, er bestemt på å være det andre.Alle filer på Unix-lignende systemer har tillatelser tildelt til alle tre klassene, og disse avgjør hvilke handlinger som kan utføres av nevnte klasser for den gitte filen.
De tre handlingene som er tilgjengelige på et Unix-lignende system er: lese (muligheten til å åpne og se innholdet i filen), skrive (muligheten til å åpne og endre innholdet i en fil), og henrette (muligheten til å kjøre filen som et kjørbart program).
Med andre ord, tillatelser til en fil avgjør om:
- 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 heter 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 etter eier, gruppe og andre. Hvis det ikke er tillatt, brukes streksymbolet (-).
For eksempel:
-rwxr-xr--
Dette betyr at det er en vanlig fil med lese, skrive og utføre tillatelser for eieren; lese og utføre tillatelser for gruppen; og bare lese tillatelser for alle andre.
Det andre formatet heter numerisk notasjon, som er en streng med tre sifre som hver representerer henholdsvis bruker, gruppe og andre tillatelser. Hvert siffer kan variere fra 0 til 7, og verdien for hvert siffer oppnås ved å summere klassens tillatelser:
- 0 betyr ingen tillatelser tillatt.
- +1 hvis klassen kan kjøre filen.
- +2 hvis klassen kan skrive til filen.
- +4 hvis klassen kan lese filen.
Med andre ord ender betydningen av hver sifferverdi:
- 0: Ingen tillatelse
- 1: Utfør
- 2: Skriv
- 3: Skriv og kjør
- 4: Les
- 5: Les og kjør
- 6: Les og skriv
- 7: Les, skriv og kjø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, chmod er en kommando på systemnivå som står for “endringsmodus” og lar deg manuelt endre tillatelsesinnstillingene til en fil.
Ikke å forveksle med chown, som er en annen kommando på systemnivå på Unix-lignende systemer som står for “endre eier” og lar deg tilordne eierskap til en fil til en annen bruker, eller chgrp, som står for “endre gruppe” og tilordner en fil til en annen gruppe. Disse er viktige å vite, men ikke så ofte brukt som chmod.
Hva betyr Chmod 644?
Hvis du setter en fils tillatelser til 644, blir det slik at bare eieren kan få tilgang til og endre filen uansett vil 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 offentlig tilgjengelige fordi det balanserer fleksibilitet og sikkerhet.
Hva betyr Chmod 755?
Å angi tillatelser for en fil til 755 er i utgangspunktet det samme som 644, bortsett fra at alle også har utførte tillatelser. Dette brukes hovedsakelig for offentlig tilgjengelige kataloger fordi den tillatelsen som er utført, er nødvendig for å bli til en katalog.
Hva betyr Chmod 555?
Hvis du setter en fils tillatelser til 555, gjør det det slik at filen ikke kan endres av noen unntatt systemets superbruker (Lær mer om Linux-superbrukeren 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 uvøren. La oss se på hvorfor du bør være ansvarlig når du bruker SU. Les mer ). Dette er ikke så ofte brukt som 644, men det er fortsatt viktig å vite fordi innstillingen for skrivebeskyttelse forhindrer tilfeldige endringer og / eller manipulering.
Hva betyr Chmod 777?
Hvis du setter rettighetene til en fil til 777, blir det slik at hvem som helst kan gjøre hva de vil med filen. Dette er en enorm sikkerhetsrisiko, spesielt på webservere! Bokstavelig talt kan alle få tilgang til filen, endre den slik de vil, og utføre den på systemet. Du kan forestille deg den potensielle skaden hvis en useriøs bruker fikk hendene på den.
Hvordan bruke Chmod på Linux
Chmod-kommandoen har et enkelt format:
chmod [tillatelser] [fil]
Tillatelser kan gis i numerisk notasjon, som er det beste formatet du kan bruke når du vil tilordne spesifikke tillatelser for alle klasser:
chmod 644 eksempel.txt
Tillatelser kan også gis i symbolsk notasjon, noe som er nyttig når du bare vil endre tillatelsene til en bestemt klasse. For eksempel:
chmod u = rwx eksempel.txt. chmod g = rw eksempel.txt. chmod o = rw eksempel.txt
Du kan endre tillatelser for flere klasser, for eksempel dette eksempelet som setter eieren til å lese / skrive / utføre, men gruppen og andre til å lese / utføre:
chmod u = rwx, g = rw, o = rw eksempel.txt
Når du tildeler samme tillatelser til flere klasser, kan du kombinere dem:
chmod u = rwx, go = rw eksempel.txt
Men skjønnheten ved å bruke symbolsk notasjon lyser når du bare vil legge til eller fjerne tillatelsen til en bestemt handling for en bestemt klasse.
For eksempel dette Legger utføre tillatelse for filens eier:
chmod u + x eksempel.txt
Og dette fjerner skrive og utføre tillatelser for andre brukere:
chmod o-wx eksempel.txt
Til slutt, hvis du vil bruke et bestemt sett med tillatelser på alle filer og mapper i en bestemt katalog (dvs. en rekursiv chmod), bruker du alternativet -R og målretter en katalog:
chmod -R 755 eksempel_katalog
Selv om chmod-kommandoen ser litt gal ut ved første øyekast, er den faktisk ganske enkel og helt logisk. Hvis du forstår det ovenstående, har du i utgangspunktet mestret chmod!
Lær mer om mestring av 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 pene triks for Linux-nybegynnere så vel som disse Linux-kommandoer du aldri skal kjøre.
Men det viktigste er at du vil gjøre det best ved å sjekke ut vår omfattende nybegynnerguide til Ubuntu og Linux Ubuntu: En nybegynnerguideEr du nysgjerrig på Ubuntu, men er ikke sikker på hvor du skal begynne? Alt du måtte trenge for å komme i gang med den nyeste versjonen av Ubuntu, er her, skrevet på lettforståelig, vanlig engelsk. Les mer , som lærer deg alt du trenger å vite for å komme i gang og bli kjent nok til å føle deg komfortabel.
Joel Lee har en B.S. innen informatikk og over seks års profesjonell skriveerfaring. Han er sjefredaktør for MakeUseOf.