Filbehörigheter i Linux / Unix: Hur man läser, skriver och ändrar?

Linux är en klon av UNIX, multianvändaroperativsystemet som kan nås av många användare samtidigt. Linux kan även användas i stordatorer och servrar utan några ändringar. Men detta väcker säkerhetsproblem eftersom en oönskad eller illvillig användare kan korrumpera, ändra eller ta bort viktiga data. För effektiv säkerhet delar Linux upp behörigheten i två nivåer.

  1. Ägande
  2. tillstånd

Konceptet med Linux-fil tillstånd och ägande är avgörande i Linux. Här kommer vi att förklara Linux-behörigheter och ägande och kommer att diskutera båda. Låt oss börja med Äganderätt.

Klicka här. om videon inte är tillgänglig

Linux-filägande

Varje fil och katalog på ditt Unix/Linux-system tilldelas tre typer av ägare, som anges nedan.

Användare

En användare är ägaren till filen. Som standard blir personen som skapade en fil dess ägare. Därför kallas en användare ibland även ägare.

Grupp

En användargrupp kan innehålla flera användare. Alla användare som tillhör en grupp kommer att ha samma Linux-gruppbehörighet åtkomst till filen. Anta att du har ett projekt där ett antal personer kräver åtkomst till en fil. Istället för att manuellt tilldela behörigheter till varje användare, kan du lägga till alla användare i en grupp och tilldela gruppbehörighet till filen så att endast denna gruppmedlemmar och ingen annan kan läsa eller ändra filerna.

Övrigt

Alla andra användare som har åtkomst till en fil. Den här personen har varken skapat filen eller tillhör en användargrupp som kan äga filen. I praktiken betyder det alla andra. Därför, när du ställer in behörigheten för andra, kallas det också för inställda behörigheter för världen.

Nu uppstår den stora frågan hur gör Linux särskilja mellan dessa tre användartyper så att en användare 'A' inte kan påverka en fil som innehåller någon annan användar-B:s vital information/data. Det är som att du inte vill ha din kollega, som jobbar på din Linux-dator, för att visa dina bilder. Det är här behörigheter sätter in, och de definierar användarbeteende.

Låt oss förstå Tillståndssystem på Linux.

Linux -filbehörigheter

Varje fil och katalog i ditt UNIX/Linux-system har följande 3 behörigheter definierade för alla 3 ägare som diskuterats ovan.

  • Läsa: Denna behörighet ger dig behörighet att öppna och läsa en fil. Läsbehörighet för en katalog ger dig möjligheten att lista dess innehåll.
  • Skriva: Skrivbehörigheten ger dig behörighet att ändra innehållet i en fil. Skrivbehörigheten för en katalog ger dig behörighet att lägga till, ta bort och byta namn på filer lagrade i katalogen. Tänk på ett scenario där du måste skriva behörighet på filen men inte har skrivbehörighet på katalogen där filen är lagrad. Du kommer att kunna ändra filens innehåll. Men du kommer inte att kunna byta namn på, flytta eller ta bort filen från katalogen.
  • Kör: In Windows, ett körbart program har vanligtvis tillägget ".exe" och som du enkelt kan köra. I Unix/Linux kan du inte köra ett program om inte exekveringsbehörigheten är inställd. Om exekveringsbehörigheten inte är inställd, kanske du fortfarande kan se/ändra programkoden (förutsatt att läs- och skrivbehörigheter är inställda), men inte köra den.

Linux -filbehörigheter
Filbehörigheter i Linux/Unix

Låt oss se filbehörigheter i Linux med exempel:

ls – l på terminalen ger

ls - l

Linux -filbehörigheter

Här har vi lyft fram '-rw-rw-r-'och den här konstiga koden är den som berättar om Unix-behörigheterna som ges till ägaren, användargruppen och världen.

Här, den första'-' antyder att vi har valt en file.p>

Linux -filbehörigheter

Annars, om det vore en katalog, d skulle ha visats.

Linux -filbehörigheter

Tecknen är ganska lätta att komma ihåg.

r = läs tillstånd
w = skrivtillstånd
x = kör behörighet
- = ingen tillåtelse

Låt oss se på det så här.

Den första delen av koden är 'rw-'. Detta tyder på att ägaren "Hem" kan:

Linux-filbehörighet

  • Läs filen
  • Skriv eller redigera filen
  • Han kan inte köra filen eftersom exekveringsbiten är inställd på '-'.

Genom design, många Linux-distributioner som Fedora, CentOS, Ubuntu, etc. kommer att lägga till användare till en grupp med samma gruppnamn som användarnamnet. Således läggs en användare 'tom' till i en grupp som heter 'tom'.

Den andra delen är 'rw-'. Det för användargruppen "Hem" och gruppmedlemmar kan:

  • Läs filen
  • Skriv eller redigera filen

Den tredje delen är för världen vilket betyder vilken användare som helst. Det står 'r-'. Detta innebär att användaren endast kan:

  • Läs filen

Linux -filbehörigheter

Ändra fil-/katalogbehörigheter i Linux med kommandot 'chmod'

Säg att du inte vill att din kollega ska se dina personliga bilder. Detta kan uppnås genom att ändra filbehörigheter.

Vi kan använda 'chmod' kommando som står för 'change mode'. Med hjälp av kommandot kan vi ställa in behörigheter (läsa, skriva, köra) på en fil/katalog för ägaren, gruppen och världen.

Syntax:

chmod permissions filename

Det finns 2 sätt att använda kommando -

  1. Absolut läge
  2. Symboliskt läge

Absolut (numeriskt) läge i Linux

I det här läget, fil behörigheter representeras inte som tecken utan ett tresiffrigt oktalt tal.

Tabellen nedan ger siffror för alla för behörighetstyper.

Antal Typ av behörighet Symbol
0 Inget tillstånd -
1 Utförande –X
2 Skriva -w-
3 Kör + Skriv -wx
4 Läsa r–
5 Läs + Kör rx
6 Läs +Skriv rw
7 Läs + Skriv +Kör rwx

Låt oss se kommandot chmod permissions i aktion.

Absolut (numeriskt) läge i Linux

I det ovan angivna terminalfönstret har vi ändrat behörigheterna för filen 'sample' till '764'.

Absolut (numeriskt) läge i Linux

'764' absoluta kod säger följande:

  • Ägaren kan läsa, skriva och utföra
  • Användargruppen kan läsa och skriva
  • Världen kan bara läsa

Detta visas som '-rwxrw-r–

Så här kan du ändra användarbehörigheter i Linux på fil genom att tilldela ett absolut nummer.

Symboliskt läge i Linux

I Absolut-läget ändrar du behörigheter för alla 3 ägarna. I det symboliska läget kan du ändra behörigheter för en specifik ägare. Den använder matematiska symboler för att ändra Unix-filbehörigheterna.

Operator BESKRIVNING

+

Lägger till en behörighet till en fil eller katalog

-

Tar bort behörigheten

=

Ställer in behörigheten och åsidosätter de behörigheter som ställts in tidigare.

De olika ägarna representeras som –

Användarbeteckningar

u

användaren / ägaren

g

grupp

o

Övrigt

a

Alla Produkter

Vi kommer inte att använda behörigheter i siffror som 755 utan tecken som rwx. Låt oss titta på ett exempel

Symboliskt läge i Linux

Ändra ägarskap och grupp i Linux

För att ändra äganderätten till en fil/katalog kan du använda följande kommando:

chown user filename

Om du vill ändra både användare och grupp för en fil eller katalog, använd kommandot

chown user:group filename

Låt oss se detta i aktion

Ändra ägarskap och grupp i Linux

Om du bara vill byta gruppägare, använd kommandot

chgrp group_name filename

'chgrp' står för förändringsgrupp.

Ändra ägarskap och grupp i Linux

Tips

  • Filen /etc/group innehåller alla grupper definierade i systemet
  • Du kan använda kommandot "grupper" för att hitta alla grupper du är medlem i
  • Ändra ägarskap och grupp i Linux

  • Du kan använda kommandot newgrp för att arbeta som medlem i en annan grupp än din standardgrupp
  • Ändra ägarskap och grupp i Linux

  • Du kan inte ha två grupper som äger samma fil.
  • Du har inga kapslade grupper i Linux. En grupp kan inte vara undergrupp till en annan
  • x- exekvera en katalog innebär att få "skriva in" en katalog och få möjlig tillgång till underkataloger
  • Det finns andra behörigheter som du kan ställa in på filer och kataloger som kommer att behandlas i en senare avancerad handledning

Sammanfattning:

  • Linux som är ett fleranvändarsystem använder behörigheter och ägande för säkerhet.
  • Det finns tre användartyper på ett Linux-system, dvs. Användare, Grupp och Övrigt
  • Linux delar upp filbehörigheterna i läs, skriv och exekvering betecknade med r, w och x
  • Behörigheterna för en fil kan ändras med kommandot 'chmod' som kan delas upp ytterligare i absolut och symboliskt läge
  • Kommandot 'chown' kan ändra ägandet av en fil/katalog. Använd följande kommandon: chown användarfil eller chown användare:gruppfil
  • Kommandot 'chgrp' kan ändra gruppens ägande chrgrp grupp filnamn
  • Vad betyder x – att köra en katalog? S: Att få "skriva in" en katalog och få möjlig tillgång till underkataloger.