säkerhet

Linux-behörigheter förklarade

Linux-behörigheter förklarade

Operativsystemet (OS) Linux utvecklades för att vara multitasking och multianvändare. Ett multitask-operativsystem tillåter oss att köra olika program samtidigt, ett fleranvändar-operativsystem tillåter olika användare att använda det samtidigt. Vilket betyder att Linux är ett multitasking-operativsystem eftersom det kan köra program samtidigt medan det är fleranvändare eftersom du kan ansluta till en enhet och använda den genom ssh medan en annan användare använder den.Om jag inte har fel tillåter de senaste Windows-versionerna, åtminstone serverversionerna, att olika användare kan använda datorn via fjärrskrivbordet, de stöder också ssh via OpenSSH.  Men i motsats till Linux utvecklades Windows ursprungligen för att vara ett personligt operativsystem och under många år monopoliserade Linux- och Unix-system multitask- och multianvändarfunktioner, vilket innebär ökad säkerhet och stabilitet för ett system som utvecklats för att delas mellan användare utan behörighet att bryta systemet genom att köra en farlig kod eller ta bort en vital fil.Som ett operativsystem med flera användare har Linux införlivat ett mycket sofistikerat sätt att hantera behörigheter för användare, användargrupper, filer, kataloger och till och med partitioner eller diskar.

Förstå behörighetens syntax under Linux

På Linux har vi tre typer av behörigheter:

Läsbehörighet: Tillstånd att läsa en fil, till exempel kan vi läsa koden för ett skript, men ändå kan vi inte köra den.

Skrivbehörighet: Tillstånd att skriva en fil, i det här fallet kan vi redigera skriptet som nämns ovan som ett exempel, vi kan också ta bort det, eller så kan vi skapa filer i en katalog.

Tillstånd för utförande: Vi kan köra skriptet eller köra program med detta tillstånd.

I ett program eller katalog kan vi inte ha någon av dessa rättigheter, alla dem eller en eller två av dem men behörigheterna anger också vem som har vilka av dessa rättigheter. För Linux har vi 3 objekt för behörighetsreglerna:

Användaren: Fil- eller katalogägaren.

Gruppen: Användare eller program som tillhör filens grupp.

Någon:  Någon annan.

Varje fil eller katalog i Linux kommer att innehålla information om sina egna behörigheter, informationen består av dessa 9 specifikationer som nämns ovan: Läs-, skriv- och exekveringsbehörigheter för användaren, gruppen och någon annan.

Linux-syntax är nästan det följande:

rwxrwxrwx
rwxrwxrwx

I det här fallet, där användaren, gruppen och någon annan har fullständiga rättigheter har vi 9 tecken, R, W OCH X upprepas tre gånger. De första 3 tecknen definierar användarrättigheter / behörigheter, de tre andra tecknen definierar grupprättigheter / behörigheter medan de tre sista tecknen definierar någon annans rättigheter / behörigheter. I det här fallet har användaren, gruppen och alla andra läs-, skriv- och exekveringsbehörigheter.

Så syntaxen som förklaras ovan kommer verkligen att se ut: Men behörigheter föregås alltid av ett "-" i fall av filer, för ett "d" i fall av kataloger (vi går inte djupare med dessa men också en B för block enheter, en C för karaktärsenhet, en S för Unix-uttag och P för Named Pipe).

-rwxrwxrwx
eller
drwxrwxrwx

Den första för filer och den andra för kataloger. Användningen av de första tecknen är endast för att bestämma filtypen och är inte användbar för att hantera behörigheter så att du kan fokusera på rwxrwxrwx.

Som sagt ovan kommer en fil med alla rättigheter att finnas -rwxrwxrwx, en fil med fullständiga rättigheter för användaren och gruppen men inte för någon annan skulle vara -rwxrwx-, med 3 rader som ersätter bokstäverna för någon annan.

A katalog med fullständiga rättigheter för användaren, läsrättigheter bara för gruppen och alla andra skulle vara drwxr-r-.

Dessa tecken har numeriska ekvivalenter som vi kan använda med chmod-kommandon:

rwx= 7 (fullständiga behörigheter)
rw- = 6 (endast läs- och skrivbehörigheter, inget exekveringsbehörighet)

r-x  = 5 (endast läs och kör behörigheter, inget skrivbehörighet)

r-  = 4 (endast läsbehörighet, inga skriv- eller körbehörigheter)

-wx= 3 (endast skriv- och exekveringsbehörigheter, inget läsbehörighet)

-w- = 2 (endast skrivbehörighet, ingen läs- eller körbehörighet)

-x = 1 (endast körbehörighet, ingen läsning eller körning)

- = 0 (inga behörigheter)

Komma igång med chmod

Kommandot i Linux för att definiera behörigheter för en fil är chmod, innan du börjar med chmod, skapa en tom fil med nano:

nano fileforchmod

Väl inne i den nya filtypen "tutorial för chmod" och tryck CTRL + X och Y för att spara och avsluta.

Efter att ha sparat filen, låt oss se att det är behörigheter, för att se behörighetstypen för en fil eller katalog:

ls -l

I detta fall:

ls -l fileforchmod

Som vi ser har filen läs- och skrivbehörigheter för användaren, och skrivbehörigheter för gruppen och alla andra, användare och grupp är "delad”.

Om vi ​​kör kommandot mindre, vi kan se vårt dokument:

Låt oss nu avsluta alla behörigheter för den här filen genom att ge behörighet 0 (-) för att köra den:

chmod a-rw fileforchmod

Var:

chmod = kallar programmet för att ändra behörigheter

a = betyder "Alla"

-= betyder minus, vi tar bort rättigheter och lägger inte till.

rw = läs- och skrivrättigheter

fileforchmod = filnamn.

När vi kör chmod måste vi först definiera vem behörigheten eller begränsningen tillämpas, om vi vill lägga till eller vila en behörighet, vilken behörighet och vilken fil för.

T.ex:

För att definiera vem vi administrerar behörigheter kan vi använda:

a = alla

u = användare

g = grupp

o = andra / någon annan

För att definiera om vi vill lägga till eller ta bort en behörighet som vi använder:

- = ta bort behörighet.
+= lägg till behörighet.

Tillståndstyper: rwx

filnamn = namnet på filen du vill ändra.

Låt oss nu se om det fungerade genom att springa igen ”ls -l fileforchmod

Som vi ser de få behörigheterna som filen tidigare hade tagits bort. Låt oss nu lägga till behörigheter för användaren att läsa, för gruppen att skriva och för andra att utföra:

Ge användaren läsrättigheter:

chmod u + r fileforchmod

Ge gruppen skrivrättigheter:

Ge andra verkställighetsrättigheter:

chmod o + x fileforchmod

Som vi kan se om vi kör “ls -l fileforchmod ” nu har vi de rättigheter som vi lagt till.

Det är viktigt att påminna om att vi bara behöver definiera objektet för vår regel: användaren, gruppen eller andra än om vi lägger till eller minskar behörigheter (+ eller -) och det tillstånd vi vill lägga till eller ta bort (rwx).

Om vi ​​vill lägga till eller ta bort behörigheter för alla använder vi en istället för ugo (vi kan också använda ugo), om du nu vill lägga till exekveringsbehörighet för både användaren och gruppen kan du skriva:

chmod ug + x fileforchmod

Kolla sedan med ls -l fileforchmod om verkställighetsrättigheterna adderades korrekt:

För att ändra en katalogs behörighet rekursivt använder vi parametern -R.

Skapa först en katalog som heter directoryforchmod med kommandot:

mkdir katalogforchmod

Gå in i katalogen med kommandocd:

cd katalogforchmod

Kom tillbaka med kommandot:

CD…

För att kontrollera katalogrättigheterna måste vi lägga till en parameter till ls. Typ:

ls -ld katalogforchmod


Som vi ser har ägaren fullständiga rättigheter kan gruppen och andra läsa och köra men kan inte skriva.
Nu kan vi ta bort läsrättigheter för användaren för att göra det:

chmod u-r katalogforchmod

Som vi ser efter att ha kastat en ny ls -ld läsbehörigheterna ändrades för användaren.

Chmod tillåter användning för att hantera behörigheter på olika sätt för olika destinationer samtidigt med hjälp av koma, skriv:

chmod u + r, g-r, o-r katalogforchmod

Som vi ser efter varandra ls -ld läsrättigheter återställdes för användaren och togs bort för gruppen och andra.

Som du ser är det enkelt att hantera behörigheter i Linux, det finns ytterligare kommandon för att ändra filer, ägare och grupper som vi lär ut i framtida självstudier.  Jag hoppas att du tyckte att den här artikeln om chmod var användbar, fortsätt följa LinuxHint för fler tips och uppdateringar om Linux.

Installera det senaste OpenRA-strategispelet på Ubuntu Linux
OpenRA är en Libre / Free Real Time Strategy-spelmotor som återskapar de tidiga Westwood-spelen som det klassiska Command & Conquer: Red Alert. Distri...
Installera senaste Dolphin Emulator för Gamecube & Wii på Linux
Dolphin Emulator låter dig spela dina valda Gamecube & Wii-spel på Linux Personal Computers (PC). Eftersom Dolphin Emulator är en fritt tillgänglig o...
Hur man använder GameConqueror Cheat Engine i Linux
Artikeln täcker en guide om hur du använder GameConqueror-fuskmotorn i Linux. Många användare som spelar spel på Windows använder ofta applikationen "...