Annons

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

Eller kanske har du en webbplats som är värd på en Linux-server och du har stött på några filtillståndsproblem som bara kan lösas med någon kommandoradsmagi.

Oavsett, en av de viktigaste Linux-kommandona att lära sig En A-Z av Linux - 40 väsentliga kommandon som du borde känna tillLinux är det ofta ignorerade tredje hjulet för Windows och Mac. Ja, under det senaste decenniet har operativsystemet med öppen källkod fått mycket dragkraft, men det är fortfarande långt ifrån att betraktas ... Läs mer ä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 som så:

Varje fil har en

instagram viewer
ägare, som bestämmer filens "användarklass." Varje fil har också en grupp, som bestämmer filens "gruppklass." Varje systemanvändare som inte är ägare och inte tillhör samma grupp bestäms att vara det andra.

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

De tre åtgärderna som finns tillgängliga i 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 heter symbolisk notation, som är en sträng på 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 av ägare, grupp och andra. Om inte tillåtet används streck-symbolen (-).

Till exempel:

-rwxr-xr--

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

Det andra formatet heter numerisk notation, som är en sträng med tre siffror som respektive 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 inga behörigheter 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, innebär innebörden av varje siffervärde:

  • 0: Ingen tillåtelse
  • 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å exemplet ovan (-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 kommandot på systemnivå som står för "ändringsläge" och låter dig manuellt ändra behörighetsinställningarna för en fil.

Inte att förväxla med chown, som är ett annat kommando på systemnivå på Unix-liknande system som står för ”byta ägare” och låter dig tilldela äganderätt 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 vanligt som chmod.

Vad betyder Chmod 644?

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

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 exekverande behörigheter. Detta används främst för offentligt tillgängliga kataloger eftersom tillstånd krävs för att kunna ändras till en katalog.

Vad betyder Chmod 555?

Att ställa in en fils behörigheter till 555 gör det så att filen inte alls kan ändras förutom systemets superanvändare (Läs mer om Linux-superanvändaren Vad är SU och varför är det viktigt att använda Linux effektivt?Linux-SU eller root-användarkontot är ett kraftfullt verktyg som kan vara till hjälp när det används korrekt eller förödande om det används omöjligt. Låt oss titta på varför du ska vara ansvarig när du använder SU. Läs mer ). Detta används inte så vanligt som 644, men det är fortfarande viktigt att veta eftersom inställningen för skrivskydd förhindrar oavsiktliga förändringar och / eller manipulation.

Vad betyder Chmod 777?

Att ställa in en fils behörigheter till 777 gör det så att vem som helst kan göra vad de vill med filen. Detta är en enorm säkerhetsrisk, särskilt på webbservrar! Bokstavligen kan vem som helst få åtkomst till filen, ändra den hur de vill och köra den på systemet. Du kan föreställa dig den potentiella skadan om en useriös användare fick sina händer på den.

Hur man använder Chmod på Linux

Chmod-kommandot har ett enkelt format:

chmod [behörigheter] [fil]

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 exempel.txt

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

chmod u = rwx exempel.txt. chmod g = rw exempel.txt. chmod o = rw exempel.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 exempel.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 tillståndet för en viss handling för en viss klass.

Till exempel detta lägger till utföra tillstånd för filens ägare:

chmod u + x exempel.txt

Och detta avlägsnar skriva och utföra behörigheter för andra användare:

chmod o-wx exempel.txt

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

chmod -R 755 exempel_katalog

Medan chmod-kommandot ser lite galen 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 kolla in dessa snygga knep för Linux nybörjare liksom dessa Linux-kommandon som du aldrig ska köra.

Men viktigast av allt är att du gör bäst genom att kolla in vår omfattande nybörjarguide till Ubuntu och Linux Ubuntu: En nybörjarguideÄr du nyfiken på Ubuntu, men är inte säker på var du ska börja? Allt du kan behöva för att komma igång med den senaste versionen av Ubuntu är här, skriven på lätt att förstå, vanligt engelska. Läs mer , 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.

Joel Lee har en B.S. inom datavetenskap och mer än sex års yrkeserfarenhet. Han är chefredaktör för MakeUseOf.