Linux är ett operativsystem som stödjer flera användare samtidigt, vilket innebär att olika personer kan interagera med samma dator. Med tanke på denna multi-användarkapacitet är det avgörande för Linux att skydda säkerheten och integriteten för de filer som tillhör enskilda användare.
För att uppnå detta har Linux ett avancerat system för att hantera behörigheter för filer och kataloger. Detta system ger Linux-användare möjlighet att kontrollera åtkomsten till filer för olika användare samt bestämma vilka åtgärder som kan utföras.
Som Linux-användare är det viktigt att förstå hur fil- och katalogbehörigheter hanteras och hur man kan använda de olika behörighetsalternativen för att skydda sina filer och upprätthålla datorns funktionalitet. För att fördjupa oss i detta, låt oss först utforska de olika användarkategorierna inom ett Linux-operativsystem.
Användarkategorier i Linux
Den första kategorin är ägaren av en fil eller katalog. Varje fil och katalog i Linux har en ägare som vanligtvis har utökade behörigheter. Ägaren identifieras med bokstaven ”u” (user).
I Linux kan användare grupperas och tilldelas behörigheter till filer kollektivt. Dessa kallas gruppägare och representeras med bokstaven ”g” (group).
Till exempel, om du har en fil med bokrekommendationer och vill ge flera användare liknande behörigheter, kan du placera dem i en grupp och sedan tilldela behörigheter till hela gruppen.
Den andra kategorin kallas ”andra” (others) och representeras av bokstaven ”o”. Det är användare som varken äger filen eller tillhör en grupp med behörighet till filen. ”Others” avser alla andra användare i systemet.
Alla användare på en dator – ägare, gruppmedlemmar och övriga – kan kollektivt refereras till med bokstaven ”a” (all).
Skapa och Lägg Till En Ny Användare i Ubuntu Linux
Låt oss se hur man skapar och lägger till en ny användare i Ubuntu Linux. För att följa med, skapa en ny användare på egen hand.
1. Öppna Inställningar, klicka på ”Användare” i vänstermenyn, och sedan på ”Lås upp”. Ange ditt lösenord när du uppmanas. Du måste låsa upp funktionen för att kunna lägga till en ny användare. Standardmässigt är den låst.
2. När upplåsningen är klar visas alternativet ”Lägg till användare”. Klicka på det för att fortsätta.
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 till att kontotypen är ”Administratör” och klicka sedan på ”Lägg till”.
4. Det nyligen skapade användarkontot ska nu visas.
Linux Fil- och Katalogbehörigheter
Behörigheter avser de regler som styr åtkomst till filer och kataloger samt de åtgärder som kan utföras av olika användare. Det finns tre huvudkategorier av behörigheter i Linux:
- Läs (r) – Tillåter en användare att se innehållet i en fil och lista innehållet i en katalog.
- Skriv (w) – Tillåter en användare att ändra innehållet i en fil. För kataloger tillåter skrivbehörighet en användare att ändra katalogens innehåll, t.ex. skapa, ta bort, byta namn på eller flytta filer och underkataloger. Men skrivbehörighet för kataloger fungerar bara om användaren också har exekveringsbehörighet.
- Exekvera (x) – Exekveringsbehörighet innebär att en fil kan köras som ett program. För kataloger tillåter exekveringsbehörighet användare att gå in i (”cd”) katalogen.
Läs-, skriv- och exekveringsbehörigheter tilldelas de tre användarkategorierna i Linux.
Du kan också lära dig mer om hur man tar bort filer och kataloger i Linux här.
Detaljerad Listning i Linux
För att se innehållet i en fil i en Linux-katalog används kommandot ”ls”. Detta ger dock endast en lista över filerna och katalogerna utan ytterligare information.
För att se detaljerad information måste man använda det långa listformatet genom att köra kommandot ”ls” med flaggan ”-l”. Detta visar filbehörigheter, filägare och gruppägare enligt följande:
I Ubuntu, om ingen grupp skapats, är gruppnamnet samma som filens ägare.
För att skapa en grupp används kommandot ”addgroup”. För att skapa en grupp med namnet ”redaktörer”, kör följande kommando och ange lösenordet:
sudo addgroup editors
”sudo” tillåter användare att köra kommandon som rotanvändare, vilket ger administratörsrättigheter att göra ändringar som påverkar alla datoranvändare.
För att lägga till användare i en grupp används följande syntax:
adduser <användarnamn> <gruppnamn>
För att lägga till användarna ”belmont” och ”madici” i gruppen ”redaktörer”, kör:
sudo adduser belmont editors
sudo adduser madici editors
För att se vilka grupper en användare tillhör, kör:
groups <användarnamn>
Resultatet av ovanstående kommandon visas nedan:
Låt oss nu titta på filattribut som ger information om filtyper och filbehörigheter.
Filattribut i Linux
Filattribut i Linux består av tio tecken. Det första tecknet indikerar filtypen. Vanliga första tecken som representerar olika filer inkluderar:
- d – indikerar en katalog
- – – indikerar en vanlig fil, t.ex. textfiler
- c – indikerar en teckenspecialfil
- l – indikerar en symbolisk länk
- b – indikerar en blockspecialfil
De nio återstående tecknen används för att visa behörigheter för ägare, gruppägare och andra användare. De nio tecknen ä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 sista tre anger behörigheter för övriga användare.
Behörigheter för varje kategori indikeras i ordningen läs, skriv och exekvera. Läsbehörighet indikeras med ”r”, skrivbehörighet med ”w” och exekveringsbehörighet med ”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 läs- och skrivbehörighet men ingen exekveringsbehörighet för katalogen (d).
Ändra Filbehörigheter med Symbolisk Notation
För att ändra behörigheter för en fil eller katalog används kommandot ”chmod” och man anger vem som ska få ändrade behörigheter.
Det kan vara filägaren (”u”), gruppägaren (”g”) eller övriga användare (”o”). Man kan också rikta in sig på alla tre kategorier med ”a”.
Därefter anges ändringen som ska göras. ”+” används för att lägga till en behörighet och ”–” för att ta bort en behörighet. Slutligen anges vilken behörighet som ska läggas till eller tas bort med ”r”, ”w” eller ”x”.
För att se hur detta fungerar, skapa en katalog som heter ”böcker” med kommandot:
mkdir books
Gå in i katalogen:
cd books
Skapa en fil som heter ”readList.txt”:
touch readingList.txt
Lista innehållet i katalogen ”böcker”:
ls -l
Utskriften blir som visas nedan:
Filen vi skapade är en vanlig fil, vilket indikeras av det första ”–”. Ägaren och gruppägaren har läs- och skrivbehörighet, medan övriga användare bara har läsbehörighet. För att ge övriga användare skrivbehörighet till filen, kör:
chmod o+w readingList.txt
För att se om behörigheterna för övriga användare har ändrats, kör:
ls -l
Utskriften:
Observera att behörigheten för övriga användare har ändrats från ”r–” till ”rw-”, vilket betyder att de nu har skrivbehörighet.
För att lägga till exekveringsbehörighet för filägaren, kör:
chmod u+x readingList.txt
För att ta bort skrivbehörighet för gruppägarna, kör:
chmod g-w readingList.txt
För att ta bort läsbehörighet från alla användare, kör:
chmod a-r readingList.txt
För att lägga tillbaka läsbehörighet för filägaren, kör:
chmod u+r readingList.txt
För att lägga till skriv- och exekveringsbehörighet för gruppägaren, 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: r eller – för läsbehörighet, w eller – för skrivbehörighet och x eller – för exekveringsbehörighet.
Därför kan dessa behörigheter betraktas som antingen aktiva eller inaktiva och representeras med binära tal, som bara har två möjliga värden: 1 för aktivt eller sant, och 0 för inaktivt eller falskt. En behörighet som ”rw-” kan representeras som ”110” binärt.
För en given användarkategori räcker det med tre binära siffror för att visa alla behörigheter. Till exempel kan behörigheten ”rwxrwxr–” för ägare, grupp och andra representeras som ”111110100” binärt.
För att undvika långa och förvirrande binära tal kan man istället använda oktala tal.
Oktala tal har basen 8 och har åtta möjliga värden. Varje oktalt tal motsvarar tre binära siffror.
Behörigheten ”rw-” representeras som ”110” binärt. Det oktala talet för ”110” är ”6”, så ”6” kan användas för att representera ”rw-”. Oktala tal kan användas för att representera läs-, skriv- och exekveringsbehörigheter för ägare, grupp och andra, som visas nedan:
Det är enklare att representera behörigheter med oktala tal. Behörigheterna för ägare, grupp och andra representeras med separata oktala tal.
Fördelen med oktal notation är att det gör det möjligt att ställa in behörigheter för alla användare samtidigt, medan symbolisk notation bara tillåter att ställa in en användare i taget.
Det kan dock ta lite tid att memorera de oktala talens betydelse. Använd diagrammet ovan som referens. Låt oss titta på några exempel på hur man ändrar behörigheter med oktal notation.
För att ge alla användare läs-, skriv- och exekveringsbehörighet till ”readList.txt”, kör:
chmod 777 readingList.txt
Kontrollera om behörigheterna har ändrats genom att köra:
ls -l
Utskriften:
total 0 -rwxrwxrwx 1 madici madici 0 Sep 6 05:45 readingList.txt
Lägg märke till att ägaren, gruppen och övriga användare nu har behörighet att läsa, skriva och exekvera ”readList.txt”.
För att ta bort skrivbehörigheten för både gruppägare och andra, kör:
chmod 755 readingList.txt
För att ta bort exekveringsbehörigheten för ägaren och andra, kör:
chmod 654 readingList.txt
Särskilda Behörigheter i Linux
Linux har tre särskilda behörigheter som kan tillämpas på filer och kataloger utöver de vanliga läs-, skriv- och exekveringsbehörigheterna. Dessa ger avancerad funktionalitet för åtkomstkontroll och gör det möjligt för användare med begränsade privilegier att köra filer och kommandon med högre privilegier, precis som filens eller gruppens ägare.
Dessa behörigheter inkluderar:
- Set User ID (SUID) – SUID-behörighet tillåter en användare att köra en fil eller ett program med privilegier som tillhör filens ägare, inte den användare som kör filen. Detta är användbart när standardanvändare behöver utföra uppgifter som kräver förhöjda privilegier.
- Set Group ID (SGID) – SGID-behörighet tillåter en användare att köra en fil med behörigheter som tillhör filens gruppägare istället för deras egen grupp.
- Sticky Bit – Den så kallade ”sticky bit” är en behörighet som används för kataloger och säkerställer att filer i katalogen endast kan raderas av katalogens ägare, filens ägare eller rotanvändaren.
De tre särskilda behörigheterna kan användas i kombination med de vanliga behörigheterna: läsa, skriva och exekvera.
Slutsats
Behörigheter är ett viktigt koncept i Linux, även om din dator inte har flera användare. Att förstå behörigheter ä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. Det är viktigt att du bekantar dig med behörigheter genom att öva på det som beskrivits i denna artikel.
Du kan också undersöka hur man använder Linux-kommandon i Windows här.