Chmod -kommandot och Linux -filtillstånd förklaras

Chmod -kommandot och Linux -filtillstånd förklaras

Så du har hittat en smak av Linux som du gillar, men nu är du förvirrad eftersom du inte har den svagaste aning om terminalkommandon och Linux -filbehörigheter?





Eller kanske har du en webbplats som finns på en Linux -server och du har stött på några filtillståndsproblem som bara kan lösas med lite kommandoradsmagi.





Oavsett, en av mest väsentliga Linux -kommandon att lära sig är ett litet men kraftfullt kommando som heter chmod . Men innan vi förklarar vad kommandot gör måste vi först förstå lite om hur Linux hanterar filsäkerhet.



Grunderna i Linux -filtillstånd

Linux-operativsystem är faktiskt Unix-liknande system ( förstå Linux vs. Unix ), och Unix-liknande system närmar sig filtillstånd så här:

Varje fil har en ägare , som avgör filens 'användarklass'. Varje fil har också en grupp , som avgör filens 'gruppklass'. Alla systemanvändare som inte är ägare och inte hör till samma grupp är fast beslutna att vara det andra .



Alla filer på Unix-liknande system har behörigheter tilldelade alla tre klasserna, och dessa bestämmer vilka åtgärder som kan vidtas av nämnda klasser för den givna filen.

De tre åtgärder som finns tillgängliga på ett Unix-liknande system är: läsa (möjligheten att öppna och visa innehållet i filen), skriva (möjligheten att öppna och ändra innehållet i en fil) och Kör (möjligheten att köra filen som ett körbart program).





Med andra ord, en fils behörigheter avgör om:

  • Ägaren kan läsa, skriva och köra filen.
  • Gruppen kan läsa, skriva och köra filen.
  • Alla andra kan läsa, skriva och köra filen.

Linux -filbehörigheter kan visas i två format.





Det första formatet kallas symbolisk notation , som är en sträng med 10 tecken: ett tecken som representerar filtypen, sedan nio tecken som representerar filens läs (r), skriv (w) och kör (x) behörigheter i ordning efter ägare, grupp och andra. Om det inte är tillåtet används bindestrecket (-).

Till exempel:

-rwxr-xr--

Det betyder att det är en vanlig fil med läs-, skriv- och körbehörigheter för ägaren; läsa och utföra behörigheter för gruppen; och bara läsa behörigheter för alla andra.

Det andra formatet kallas numerisk notation , som är en sträng med tre siffror som var och en representerar användare, grupp respektive andra behörigheter. Varje siffra kan variera från 0 till 7, och varje siffers värde erhålls genom att summera klassens behörigheter:

  • 0 betyder att inga behörigheter är tillåtna.
  • +1 om klassen kan köra filen.
  • +2 om klassen kan skriva till filen.
  • +4 om klassen kan läsa filen.

Med andra ord slutar betydelsen av varje siffervärde:

  • 0: Inget tillstånd
  • 1: Utför
  • 2: Skriv
  • 3: Skriv och kör
  • 4: Läs
  • 5: Läs och kör
  • 6: Läs och skriv
  • 7: Läs, skriv och kör

Så ovanstående exempel (

-rwxr-xr--

) skulle vara 754 i numerisk notation.

Det är Linux -filbehörigheter i ett nötskal.

Vad är Chmod?

På Unix-liknande system, chmod är ett kommando på systemnivå som står för 'ändra läge' och låter dig manuellt ändra behörighetsinställningarna för en fil.

bästa sättet att köpa en macbook

Inte att förväxla med chown , vilket är ett annat kommando på systemnivå på Unix-liknande system som står för 'ändra ägare' och låter dig tilldela äganderätten till en fil till en annan användare, eller chgrp , som står för 'ändra grupp' och tilldelar en fil till en annan grupp. Dessa är viktiga att veta, men inte lika vanliga som chmod.

Vad betyder Chmod 644?

Att ställa in en fils behörigheter till 644 gör det så att bara ägaren kan komma åt och ändra filen hur de vill medan alla andra bara kan komma åt utan att ändra, och ingen kan köra filen --- inte ens ägaren. Detta är den perfekta inställningen för filer som är offentligt tillgängliga eftersom det balanserar flexibilitet med säkerhet.

hur man installerar osx från usb

Vad betyder Chmod 755?

Att ställa in en fils behörigheter till 755 är i princip samma sak som 644 förutom att alla också har körbehörigheter. Detta används huvudsakligen för offentligt tillgängliga kataloger eftersom exekveringstillståndet krävs för att kunna byta till en katalog.

Vad betyder Chmod 555?

Genom att ställa in en fils behörigheter till 555 gör den så att filen inte kan ändras alls av någon utom systemets superanvändare (läs mer om Linux -superanvändaren). Detta är inte lika vanligt som 644, men det är fortfarande viktigt att veta eftersom skrivskyddad inställning förhindrar oavsiktliga ändringar och/eller manipulering.

Vad betyder Chmod 777?

Att ställa in en fils behörighet till 777 gör det så att alla kan göra vad de vill med filen. Detta är en enorm säkerhetsrisk, särskilt på webbservrar! Bokstavligen alla kan komma åt filen, ändra den hur de vill och köra den på systemet. Du kan tänka dig den potentiella skadan om en oseriös användare fick tag på den.

Hur man använder Chmod på Linux

Kommandot chmod har ett enkelt format:

chmod [permissions] [file]

Behörigheter kan ges i numerisk notation, vilket är det bästa formatet att använda när du vill tilldela specifika behörigheter för alla klasser:

chmod 644 example.txt

Behörigheter kan också ges i symbolisk notering, vilket är användbart när du bara vill ändra behörigheterna för en viss klass. Till exempel:

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

Du kan ändra behörigheter för flera klasser, till exempel det här exemplet som sätter ägaren att läsa/skriva/köra men gruppen och andra att läsa/köra:

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

När du tilldelar samma behörigheter till flera klasser kan du kombinera dem:

chmod u=rwx,go=rw example.txt

Men skönheten i att använda symbolisk notering lyser när du bara vill lägga till eller ta bort behörigheten för en viss åtgärd för en viss klass.

Till exempel detta lägger till exekveringsbehörigheten för filens ägare:

chmod u+x example.txt

Och detta tar bort skriv- och körbehörigheter för andra användare:

chmod o-wx example.txt

Slutligen, om du vill tillämpa en viss uppsättning behörigheter för alla filer och mappar i en viss katalog (dvs. en rekursiv chmod), använd alternativet -R och rikta in dig på en katalog:

chmod -R 755 example_directory

Medan chmod -kommandot ser lite galet ut vid första anblicken, är det faktiskt ganska enkelt och helt logiskt. Om du förstår ovanstående har du i princip behärskat chmod!

Läs mer om att behärska Linux

Kommandon som chmod, chown och chgrp är bara toppen av Linux -isberget. Om du är helt ny i operativsystemet rekommenderar vi att du tittar på dessa snygga knep för Linux -nybörjare och dessa Linux -kommandon som du aldrig bör köra.

Men viktigast av allt, du skulle göra bäst genom att kolla in vår omfattande nybörjarguide för Ubuntu och Linux , som lär dig allt du behöver veta för att komma igång och bekanta dig nog för att känna dig bekväm.

Dela med sig Dela med sig Tweet E-post 5 tips för att ladda dina VirtualBox Linux -maskiner

Trött på den dåliga prestanda som erbjuds av virtuella maskiner? Här är vad du bör göra för att öka din VirtualBox -prestanda.

Läs Nästa
Relaterade ämnen
  • Linux
  • Linux -kommandon
Om författaren Joel Lee(1524 artiklar publicerade)

Joel Lee är chefredaktör för MakeUseOf sedan 2018. Han har en B.S. i datavetenskap och över nio års professionell skriv- och redigeringserfarenhet.

Mer från Joel Lee

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera