Chmod -kommandoen og Linux -filtillatelser forklart

Chmod -kommandoen og Linux -filtillatelser forklart

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





Eller kanskje du har et nettsted som ligger på en Linux -server, og du har støtt på noen filtillatelsesproblemer som bare kan løses med noen kommandolinjemagi.





Uansett, en av mest essensielle Linux -kommandoer å lære 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 eieren og ikke tilhører samme gruppe, er fast bestemt på å være det andre .



Alle filer på Unix-lignende systemer har tillatelser tilordnet alle tre klasser, og disse bestemmer 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 avgjør filens tillatelser om:

  • Eieren kan lese, skrive og kjøre filen.
  • Gruppen kan lese, skrive og kjøre filen.
  • Alle andre kan lese, skrive og kjø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 etter eier, gruppe og andre. Hvis det ikke er tillatt, brukes bindestrek-symbolet (-).

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 kalles numerisk notasjon , som er en streng på tre sifre som hver representerer henholdsvis bruker-, gruppe- og andre tillatelser. Hvert siffer kan variere fra 0 til 7, og hvert siffer verdi oppnås ved å summere klassens tillatelser:

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

Med andre ord, betydningen av hver sifferverdi ender opp med å være:

  • 0: Ingen tillatelse
  • 1: Utfør
  • 2: Skriv
  • 3: Skriv og utfør
  • 4: Les
  • 5: Les og kjø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, chmod er en kommando på systemnivå som står for 'endringsmodus' og lar deg manuelt endre tillatelsesinnstillingene for en fil.

som blokkerer meg på facebook

For ikke å forveksle med chown , som er en annen kommando på systemnivå på Unix-lignende systemer som står for 'bytte eier' og lar deg tildele 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å vanlig som chmod.

Hva betyr Chmod 644?

Hvis du setter filens tillatelser til 644, er det slik at bare eieren kan få tilgang til og endre filen slik de vil, mens alle andre bare kan få tilgang uten å endre, og ingen kan kjøre filen --- ikke engang eieren. Dette er den ideelle innstillingen for filer som er offentlig tilgjengelige fordi det balanserer fleksibilitet med sikkerhet.

hva betyr denne emojien?

Hva betyr Chmod 755?

Å sette en fils tillatelser til 755 er i utgangspunktet det samme som 644, bortsett fra at alle også har kjøringstillatelser. Dette brukes hovedsakelig for offentlig tilgjengelige kataloger fordi kjøringstillatelsen er nødvendig for å bytte til en katalog.

Hva betyr Chmod 555?

Hvis du angir tillatelser til en fil til 555, blir den slik at filen ikke kan endres av andre enn systemets superbruker (lær mer om Linux -superbrukeren). 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?

Hvis du setter en fils tillatelser til 777, gjør den slik at alle kan gjøre hva de vil med filen. Dette er en stor sikkerhetsrisiko, spesielt på webservere! Bokstavelig talt kan alle få tilgang til filen, endre den slik de vil, og kjø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

Kommandoen chmod har et enkelt format:

chmod [permissions] [file]

Tillatelser kan gis i numerisk notasjon, som er det beste formatet å bruke når du vil tildele spesifikke tillatelser for alle klasser:

chmod 644 example.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 example.txt
chmod g=rw example.txt
chmod o=rw example.txt

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

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

Når du tildeler de samme tillatelsene 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 dette legger til kjøre tillatelse 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. en rekursiv chmod), bruker du alternativet -R og målretter mot en katalog:

chmod -R 755 example_directory

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

Lær mer om å mestre Linux

Kommandoer som chmod, chown og chgrp er bare toppen av Linux -isfjellet. Hvis du er helt ny på operativsystemet, anbefaler vi å sjekke ut disse fine triksene for Linux -nybegynnere, så vel som disse Linux -kommandoene du aldri bør kjøre.

Men det viktigste er at du gjør det best ved å sjekke ut vår omfattende nybegynnerguide til Ubuntu og Linux , som vil lære deg alt du trenger å vite for å komme i gang og bli kjent nok til å føle deg komfortabel.

Dele Dele kvitring E -post 5 tips for å overbelaste VirtualBox Linux -maskinene dine

Lei av den dårlige ytelsen som tilbys av virtuelle maskiner? Her er hva du bør gjøre for å øke VirtualBox -ytelsen.

Les neste
Relaterte temaer
  • Linux
  • Linux -kommandoer
Om forfatteren Joel lee(1524 artikler publisert)

Joel Lee er sjefredaktør for MakeUseOf siden 2018. Han har en B.S. i informatikk og over ni års profesjonell skrive- og redigeringserfaring.

Mer fra Joel Lee

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere