Chmod -kommandoen og Linux -filtilladelser forklaret

Chmod -kommandoen og Linux -filtilladelser forklaret

Så du har fundet en smag af Linux, 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 stødt på nogle filtilladelsesproblemer, der kun kan løses med noget kommandolinjemagi.





Uanset hvad, en af ​​de mest vigtige Linux -kommandoer at lære er en lille, men kraftfuld kommando kaldet chmod . Men før vi forklarer, hvad kommandoen gør, skal vi først forstå lidt om, hvordan Linux håndterer filsikkerhed.





Det grundlæggende i 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 , som bestemmer filens 'brugerklasse'. Hver fil har også en gruppe , som bestemmer filens 'gruppeklasse'. Enhver systembruger, der ikke er ejeren og ikke tilhører den samme gruppe, er fast besluttet 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 de nævnte klasser for den givne fil.

De tre tilgængelige handlinger på et Unix-lignende system er: Læs (evnen til at åbne og se filens indhold), skrive (muligheden for 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:

  • Ejeren kan læse, skrive og eksekvere filen.
  • Gruppen kan læse, skrive og eksekvere filen.
  • Alle andre kan læse, skrive og eksekvere 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 bindestregssymbolet (-).

For eksempel:

-rwxr-xr--

Dette betyder, at det er en almindelig fil med læse-, skrive- og eksekveringstilladelser for ejeren; læse og udføre tilladelser for gruppen; og kun læse tilladelser for alle andre.

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

  • 0 betyder, at ingen tilladelser er tilladt.
  • +1 hvis klassen kan eksekvere filen.
  • +2 hvis klassen kan skrive til filen.
  • +4 hvis klassen kan læse filen.

Med andre ord ender meningen med hver cifferværdi med 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 en nøddeskal.

Hvad er Chmod?

På Unix-lignende systemer, chmod er en kommando på systemniveau, der står for 'ændringstilstand' og giver dig mulighed for manuelt at ændre tilladelsesindstillingerne for en fil.

internetforbindelse, men fungerer ikke windows 10

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

Hvad betyder Chmod 644?

Hvis du indstiller en fils tilladelser til 644, er det sådan, at kun ejeren kan få adgang til og ændre filen, som de vil, mens alle andre kun kan få adgang uden at ændre, og ingen kan eksekvere filen --- ikke engang ejeren. Dette er den ideelle indstilling for filer, der er offentligt tilgængelige, fordi det balancerer fleksibilitet med sikkerhed.

hvordan finder man ud af en persons adgangskode

Hvad betyder Chmod 755?

Indstilling af en fils tilladelser til 755 er stort set det samme som 644, undtagen at alle også har udførelsesrettigheder. Dette bruges hovedsageligt til offentligt tilgængelige biblioteker, fordi eksekveringstilladelsen er nødvendig for at ændre til et bibliotek.

Hvad betyder Chmod 555?

Indstilling af en fils tilladelser til 555 gør det sådan, at filen slet ikke kan ændres af andre end systemets superbruger (læs mere om Linux -superbrugeren). Dette er ikke så almindeligt brugt som 644, men det er stadig vigtigt at vide, fordi indstillingen skrivebeskyttet forhindrer utilsigtede ændringer og/eller manipulation.

Hvad betyder Chmod 777?

Hvis du indstiller en fils tilladelser til 777, gør den, så alle 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, som de vil, og udføre den på systemet. Du kan forestille dig den potentielle skade, hvis en useriøs bruger fik fat i det.

Sådan bruges Chmod på Linux

Kommandoen chmod har et simpelt format:

chmod [permissions] [file]

Tilladelser kan gives i numerisk notation, hvilket er det bedste format at bruge, 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 til flere klasser, f.eks. 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 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 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ør tilladelsen til filens ejer:

chmod u+x example.txt

Og dette fjerner skrive- og eksekveringstilladelser 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. en rekursiv chmod), skal du bruge -R -indstillingen og målrette mod et bibliotek:

chmod -R 755 example_directory

Selvom 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 kun 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 bør køre.

Men vigtigst af alt, ville du gøre det bedst ved at tjekke vores omfattende begynderguide til Ubuntu og Linux , som vil lære dig alt, hvad du behøver at vide for at komme i gang og blive fortrolig nok til at føle dig godt tilpas.

Del Del Tweet E -mail 5 tips til at overlade dine VirtualBox Linux -maskiner

Træt af den dårlige ydelse, der tilbydes af virtuelle maskiner? Her er hvad du skal gøre for at øge din VirtualBox -ydeevne.

Læs Næste
Relaterede emner
  • Linux
  • Linux -kommandoer
Om forfatteren Joel lee(1524 artikler udgivet)

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

Mere fra Joel Lee

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere