Linux-fil- och katalogbehörigheter förklaras

Linux är ett operativsystem för flera användare, så flera användare kan interagera med samma dator samtidigt med Linux. Eftersom det är ett fleranvändaroperativsystem är det viktigt för Linux att garantera säkerheten och integriteten för filerna som tillhör olika användare.

För att uppnå detta har Linux ett utarbetat system för att hantera fil- och katalogbehörigheter. På så sätt kan Linux-användare kontrollera åtkomsten till filer för olika användare och vilka åtgärder användare kan vidta när de använder datorn.

Som Linux-användare är det avgörande att förstå hur Linux hanterar fil- och katalogbehörigheter och hur du kan arbeta med de olika tillgängliga behörigheterna för att säkra dina filer och garantera din dators funktionalitet. För att förstå hur Linux hanterar fil- och katalogbehörigheter, låt oss först titta på de olika kategorierna av användare i ett Linux-operativsystem.

Kategori av användare i Linux

Den första kategorin användare är ägare av en fil eller en katalog. Varje fil eller katalog i Linux har en ägare. Den här ägaren får vanligtvis fler behörigheter till sin fil eller katalog. Ägaren av en fil anges vanligtvis med bokstaven u för användare.

I Linux kan flera användare placeras i en grupp och ges behörighet till filer som en grupp. Dessa kallas gruppägare och representeras av bokstaven g.

Om du till exempel har en fil med bokrekommendationer och du vill ge flera användare liknande behörigheter till filen, är ett enkelt sätt att göra detta att placera användarna i en grupp och ge behörigheter till gruppen som helhet.

Den andra kategorin användare kallas andra och representeras av bokstaven o. Dessa är användare som inte äger filen och som inte heller ingår i en grupp med behörigheter till filen. Other representerar alla andra i systemet.

Alla användare på en dator, det vill säga ägare av filer, användare i grupper och andra användare kan ange med bokstaven a.

Skapa och lägg till en ny användare i Ubuntu Linux

Låt oss titta på hur du kan skapa och lägga till en ny användare i Ubuntu Linux. För att följa med i denna handledning, skapa en ny användare också.

1. Öppna Inställningar och i den vänstra menyraden, klicka på Användare och klicka sedan på Lås upp och ange ditt lösenord när du uppmanas att göra det. Du måste klicka på Lås upp så att du kan lägga till en ny användare. Som standard är denna funktion låst.

2. När du är upplåst ser du alternativet Lägg till användare, klicka på det för att lägga till en ny användare

3. För att skapa en ny användare, ange deras fullständiga namn och användarnamn, välj Ange ett lösenord nu och ange lösenordet. Se dessutom till att kontotypen är inställd på Administratör och klicka sedan på Lägg till för att lägga till en användare.

4. Du bör se ett nytt användarkonto som du just skapat visas enligt nedan.

Linux fil- och katalogbehörigheter

Behörigheter avser reglerna som styr åtkomst till filer och kataloger och de åtgärder som kan utföras på dem av olika användare. Linux har tre huvudsakliga behörighetskategorier:

  • Read(r) – låter en användare se innehållet i en fil och lista innehållet i en katalog
  • Write(w) – tillåter en användare att ändra innehållet i en fil. Med kataloger tillåter skrivbehörigheter en användare att ändra innehållet i en katalog, till exempel genom att skapa, ta bort, döpa om eller flytta filer och underkataloger i katalogen. Skrivbehörigheter med kataloger fungerar dock bara om användaren också har exekveringsbehörigheter.
  • Execute(x) – Execute-behörigheter innebär att en fil kan behandlas som ett program som kan köras. Med kataloger tillåter exekveringsbehörigheten en användare att gå in eller ”cd” i katalogen.
  • Läs-, skriv- och körrättigheterna tilldelas de tre användarkategorierna som är tillgängliga i Linux.

    Du kan också läsa hur du tar bort filer och kataloger i Linux

    Lång lista i Linux

    För att se innehållet i en fil i en Linux-katalog kör vi vanligtvis kommandot ls. Detta listar dock bara de tillgängliga filerna och katalogerna och ger ingen ytterligare information.

    För att se mer information om innehållet måste du använda det långa listformatet. För att göra detta, kör kommandot ls med flaggan -l. Detta ger dig filbehörigheter, ägare till en fil och gruppägare till en fil enligt nedan:

    I Ubuntu, om ingen grupp har skapats, är gruppnamnet detsamma som ägaren till filen.

    För att skapa en grupp använder vi kommandot addgroup. För att lägga till en grupp som heter redaktörer, kör följande kommando och ange ett lösenord när du uppmanas

    sudo addgroup editors

    sudo tillåter oss att köra kommandon som root-användare, som är en superanvändare med privilegier att utföra ändringar som påverkar alla användare av datorn.

    För att lägga till användare till en grupp använder vi följande syntax:

    adduser <user> <group>

    Därför kör vi för att lägga till både belmont och madici till redaktörsgruppen

    sudo adduser belmont editors
    sudo adduser madici editors

    För att se grupperna en användare tillhör, kör:

    groups <username>

    Resultatet av ovanstående kommandon visas nedan:

    Låt oss nu titta på filattribut som berättar för oss om filtyperna och behörigheterna på filen. a.

    Filattribut i Linux

    I Linux består filattribut av exakt tio tecken. Det första tecknet indikerar filtypen. Några av de vanliga första tecknen som representerar olika filer inkluderar:

    • d indikerar en katalog
    • – indikerar en vanlig fil, t.ex. textfiler
    • c indikerar en specialfil med tecken
    • l indikerar en symbolisk länk
    • b indikerar en speciell blockfil

    De återstående nio tecknen används för att visa ägarens, gruppägarens och andra användares behörigheter. De nio karaktärerna är indelade i grupper om tre. Den första gruppen anger behörigheter för ägaren, den andra gruppen anger behörigheter för gruppägaren och de tre sista anger behörigheter för andra, det vill säga alla andra användare i datorn.

    Behörigheter för varje kategori indikeras med början med läsning, sedan skrivning och slutligen exekveringsbehörigheten. Lästillståndet indikeras med bokstaven r, skrivtillstånd med bokstaven w och verkställ tillstånd med bokstaven x.

    Symbolen – används om en användare inte har en viss behörighet. Till exempel betyder rw- för gruppägaren att de har både läs- och skrivbehörigheter men inte har exekveringsbehörigheten för den katalogen(d).

    Ändra filbehörigheter med symbolisk notation

    För att ändra behörigheterna för en fil eller katalog använder vi kommandot chmod och anger vem vi ska ändra behörigheterna för.

    Detta kan vara ägaren till filen som representeras av bokstaven u för användaren, gruppägaren som representeras av bokstaven g eller andra användare som representeras av bokstaven o. Vi kan också rikta in oss på alla tre kategorier av användare genom att använda bokstaven a, vilket betyder allt ovan.

    Nästa sak vi specificerar är den förändring vi gör. För att lägga till en behörighet använder vi +(plustecken). För att ta bort en behörighet använder vi – (minustecken). Det sista vi tillhandahåller är de behörigheter vi lägger till med hjälp av r, w eller x för att representera de tre tillgängliga behörigheterna.

    För att se detta i aktion, skapa en katalog som heter böcker med hjälp av kommandot nedan

    mkdir books

    Skriv in, eller ’cd’ i katalogen:

    cd books

    Skapa en fil som heter readList.txt

    touch readingList.txt

    Lång lista innehållet i bokkatalogen genom att köra:

    ls -l

    Utgången är som visas:

    Filen vi skapade är en vanlig fil, indikerad med först –, ägaren och gruppägaren har läs- och skrivbehörighet, medan andra användare bara har läsbehörighet. För att ge andra användare behörighet att skriva till filen, skulle vi köra följande kommando:

    chmod o+w readingList.txt

    För att se om behörigheterna för andra användare har ändrats, kör

    ls -l

    Produktion:

    Observera att filbehörigheten för andra användare har ändrats från r– till rw- vilket betyder att de nu har skrivbehörighet.

    För att lägga till exekveringsbehörigheter till ägaren (användaren) av filen kör:

    chmod u+x readingList.txt

    För att ta bort skrivbehörigheter från gruppägarna, kör:

    chmod g-w readingList.txt

    För att ta bort läsbehörigheter från alla användare så att ingen kan se filen, kör:

    chmod a-r readingList.txt

    För att lägga tillbaka läsbehörighet för ägaren av filen, kör:

    chmod u+r readingList.txt

    För att lägga till en skriv- och körbehörighet till gruppägaren av filen kör:

    chomod g+wx readingList.txt

    Ändra behörigheter med oktal notation

    I Linux har var och en av de tre tillgängliga behörigheterna endast två möjliga värden. Läsbehörigheten kan bara vara r eller – , skrivbehörigheten kan bara vara w eller – och exekveringsbehörigheten kan bara vara x eller –.

    Därför kan dessa behörigheter anses vara antingen på eller av och därför representeras med binära tal, som bara har två tillgängliga värden. Det är 1 för på eller sant och 0 för av eller falskt. Där kan en behörighet som rw– representeras som 110 med binära tal.

    Därför, för en given kategori av användare, räcker tre binära tal för att visa alla deras behörigheter. Till exempel kan behörigheten för ägaren, gruppen och andra rwxrw-r– representeras som 111110100 med ett binärt tal.

    Men för att undvika att skriva binära tal, vilket är långt och lätt förvirrande, är ett bättre alternativ att använda oktala tal.

    Oktala tal har basen 8 och har alltså bara 8 möjliga värden. Varje oktalt tal mappas till exakt tre binära siffror.

    Därför kan en behörighet som rw- representeras som 110 i binärt. Den oktala ekvivalenten till 110 är 6, och därför kan 6 användas för att representera rw-. Oktala tal kan användas för att representera läs-, skriv- och exekveringsbehörigheter för ägaren, gruppen och andra som visas nedan:

    Istället för att skriva långa binära siffror är det bättre att representera behörigheter med oktala tal. Därför representeras alla behörigheter för ägaren, gruppen och andra med enstaka oktala tal, som visas i diagrammet ovan.

    Fördelen med att använda den oktala notationen för att ställa in behörigheter är att den låter dig ställa in behörigheten för alla dina användare på en gång, till skillnad från i symbolisk notation, där du bara kan ställa in behörigheten för en enskild användare åt gången.

    Men att använda oktal notation tar lite tid och övning för att kunna komma ihåg vad varje oktalt tal löser sig till. Som sagt, hänvisa gärna till diagrammet ovan när du använder oktal notation. Låt oss titta på flera exempel på att ändra behörigheter med den oktala notationen

    För att ge alla användare, det vill säga ägaren, gruppägaren och andra användare, läs, skriv och kör behörighet till readList.txt, kör:

    chmod 777 readingList.txt

    För att kontrollera om behörigheterna har ändrats, kör:

    ls -l

    Produktion:

    total 0
    -rwxrwxrwx 1 madici madici 0 Sep  6 05:45 readingList.txt

    Lägg märke till att nu har ägaren, gruppen och andra användare behörighet att läsa, skriva och köra readList.txt.

    För att ta bort skrivbehörigheter från både gruppägaren och andra, kör:

    chmod 755 readingList.txt

    Så här tar du bort exekveringsbehörigheten från ägaren och andra kör:

    chmod 654 readingList.txt

    Särskilda behörigheter i Linux

    Linux har tre speciella behörigheter som kan tillämpas på filer och kataloger utöver de vanliga läs-, skriv- och körrättigheterna. Dessa behörigheter ger avancerad funktionalitet för åtkomstkontroll och tillåter användare med färre privilegier att köra filer och kommandon med högre privilegier, precis som ägaren till filen eller gruppägaren.

    De särskilda behörigheterna inkluderar:

    • Ange användar-ID (SUID) – SUID-behörigheten tillåter en användare att köra en fil eller ett program med privilegierna för ägaren av den, och inte för användaren som kör den. Detta är användbart när standardanvändare behöver utföra uppgifter som kräver förhöjda privilegier.
    • Ange grupp-ID (SGID) – SGID-behörigheten tillåter en användare att köra en fil med behörigheterna från gruppägaren av filen, snarare än behörigheterna för deras faktiska grupp.
    • Sticky Bit – Den sticky biten är behörighet som vanligtvis ställs in på kataloger för att säkerställa att filer i katalogen endast kan raderas av den faktiska ägaren av katalogen, ägaren till den specifika filen eller rotanvändaren.

    De tre specialbehörigheterna kan användas tillsammans med standardbehörigheterna: läsa, skriva och köra.

    Slutsats

    Behörigheter är ett viktigt koncept i Linux, även om din dator inte har flera användare. Att förstå tillstånd är viktigt för att säkerställa kontroll, säkerhet och integritet för data som lagras i ett Linux-system och dess funktionalitet. Överväg därför att bekanta dig med behörigheter genom att öva på det du har lärt dig om behörigheter i den här artikeln.

    Du kan också utforska hur du använder Linux-kommandon på Windows.