Bestandsrechten in Linux / Unix: hoe lezen, schrijven en wijzigen?

Linux is een kloon van UNIX, het multi-user besturingssysteem dat door veel gebruikers tegelijk kan worden gebruikt. Linux kan ook worden gebruikt in mainframes en servers zonder enige aanpassingen. Maar dit roept beveiligingsproblemen op, omdat een ongevraagde of kwaadaardige gebruiker cruciale gegevens kan beschadigen, wijzigen of verwijderen. Voor effectieve beveiliging verdeelt Linux autorisatie in 2 niveaus.

  1. Eigendom
  2. Toestemming

Het concept van Linux-bestand toestemming en ownership is cruciaal in Linux. Hier zullen we Linux-rechten en -eigendom uitleggen en beide bespreken. Laten we beginnen met de Eigendom.

Klik hier als de video niet toegankelijk is

Eigendom van Linux-bestanden

Aan elk bestand en elke map op uw Unix/Linux-systeem worden 3 soorten eigenaars toegewezen, zoals hieronder weergegeven.

Gebruiker

Een gebruiker is de eigenaar van het bestand. Standaard wordt de persoon die een bestand heeft gemaakt de eigenaar. Daarom wordt een gebruiker soms ook een eigenaar genoemd.

Groep

Een gebruikersgroep kan meerdere gebruikers bevatten. Alle gebruikers die tot een groep behoren, hebben dezelfde Linux-groepsmachtigingen voor toegang tot het bestand. Stel, je hebt een project waarbij een aantal mensen toegang nodig hebben tot een bestand. In plaats van handmatig machtigingen toe te wijzen aan elke gebruiker, kunt u alle gebruikers aan een groep toevoegen en groepsmachtigingen toewijzen aan een bestand zodat alleen deze groepsleden en niemand anders de bestanden kunnen lezen of wijzigen.

Overige

Elke andere gebruiker die toegang heeft tot een bestand. Deze persoon heeft het bestand niet aangemaakt, noch behoort hij tot een gebruikersgroep die de eigenaar van het bestand zou kunnen zijn. In de praktijk betekent het alle anderen. Daarom, wanneer u de machtiging voor anderen instelt, wordt dit ook wel de machtigingen voor de wereld genoemd.

Nu rijst de grote vraag hoe werkt? Linux onderscheiden tussen deze drie gebruikerstypen, zodat een gebruiker 'A' geen invloed kan hebben op een bestand dat de vitale informatie/gegevens van een andere gebruiker 'B' bevat. Het is alsof je niet wilt dat je collega, die aan je werkt Linux-computer, om uw afbeeldingen te bekijken. Dit is waar machtigingen zetten in, en ze definiëren gebruikersgedrag.

Laten we het begrijpen Toestemming systeem op Linux.

Linux-bestandsmachtigingen

Voor elk bestand en elke map in uw UNIX/Linux-systeem zijn de volgende 3 machtigingen gedefinieerd voor alle 3 hierboven besproken eigenaren.

  • Lezen: Deze toestemming geeft u de bevoegdheid om een ​​bestand te openen en te lezen. Leesmachtiging voor een map geeft u de mogelijkheid om de inhoud ervan weer te geven.
  • Schrijven: De schrijfmachtiging geeft u de bevoegdheid om de inhoud van een bestand te wijzigen. De schrijfmachtiging voor een directory geeft u de bevoegdheid om bestanden die in de directory zijn opgeslagen toe te voegen, te verwijderen en te hernoemen. Overweeg een scenario waarin u schrijfmachtiging in het bestand moet hebben, maar geen schrijfmachtiging hebt voor de map waarin het bestand is opgeslagen. U kunt de inhoud van het bestand wijzigen. Maar u kunt het bestand niet hernoemen, verplaatsen of verwijderen uit de map.
  • Voer uit: In Windows, een uitvoerbaar programma heeft meestal de extensie “.exe” en kunt u eenvoudig uitvoeren. In Unix/Linux kunt u geen programma uitvoeren tenzij de uitvoertoestemming is ingesteld. Als de uitvoerrechten niet zijn ingesteld, kunt u de programmacode mogelijk nog steeds zien/wijzigen (mits de lees- en schrijfrechten zijn ingesteld), maar deze niet uitvoeren.

Linux-bestandsmachtigingen
Bestandsmachtigingen in Linux/Unix

Laten we bestandsrechten in Linux bekijken met voorbeelden:

ls – ik op terminal geeft

ls - l

Linux-bestandsmachtigingen

Hier hebben we gemarkeerd: '-rw-rw-r–'en deze vreemd uitziende code is degene die ons vertelt over de Unix-machtigingen die zijn gegeven aan de eigenaar, gebruikersgroep en de wereld.

Hier de eerste '-' houdt in dat we een bestand hebben geselecteerd.p>

Linux-bestandsmachtigingen

Anders, als het een directory was, d zou zijn getoond.

Linux-bestandsmachtigingen

De personages zijn vrij gemakkelijk te onthouden.

r = leesrechten
w = schrijf toestemming
x = toestemming uitvoeren
- = geen toestemming

Laten we het op deze manier bekijken.

Het eerste deel van de code is 'rw-'. Dit suggereert dat de eigenaar 'Home':

Linux-bestandsrechten

  • Lees het bestand
  • Schrijf of bewerk het bestand
  • Hij kan het bestand niet uitvoeren omdat de execute-bit is ingesteld op '-'.

Door hun ontwerp zijn veel Linux-distributies zoals Fedora, CentOS, Ubuntu, enz. zullen gebruikers toevoegen aan een groep met dezelfde groepsnaam als de gebruikersnaam. Zo wordt een gebruiker 'tom' toegevoegd aan een groep met de naam 'tom'.

Het tweede deel is 'rw-'. Het voor de gebruikersgroep 'Home' en groepsleden kunnen:

  • Lees het bestand
  • Schrijf of bewerk het bestand

Het derde deel is voor de wereld, wat elke gebruiker betekent. Het zegt 'r-'. Dit betekent dat de gebruiker alleen:

  • Lees het bestand

Linux-bestandsmachtigingen

Bestands-/maprechten wijzigen in Linux Met behulp van de opdracht 'chmod'

Stel dat u niet wilt dat uw collega uw persoonlijke afbeeldingen ziet. Dit kan worden bereikt door de bestandsrechten te wijzigen.

Wij kunnen gebruik maken van de 'chmod' commando dat staat voor 'change mode'. Met behulp van de opdracht kunnen we machtigingen instellen (lezen, schrijven, uitvoeren) voor een bestand/map voor de eigenaar, groep en de wereld.

Syntax:

chmod permissions filename

Er zijn 2 manieren om de commando -

  1. Absolute modus
  2. Symbolische modus

Absolute (numerieke) modus in Linux

In deze modus, bestand machtigingen worden niet weergegeven als tekens, maar als een octaal getal van drie cijfers.

In de onderstaande tabel staan ​​de aantallen voor alle machtigingstypen.

Telefoon Nummer Toestemmingstype Symbool
0 Geen toestemming -
1 Uitvoeren -X
2 Schrijven -W-
3 Uitvoeren + Schrijven -wx
4 Lees R-
5 Lezen + Uitvoeren rx
6 Lezen + Schrijven rw
7 Lezen + Schrijven + Uitvoeren rwx

Laten we de opdracht chmod-permissies in actie zien.

Absolute (numerieke) modus in Linux

In het hierboven gegeven terminalvenster hebben we de rechten van het bestand 'sample' gewijzigd in '764'.

Absolute (numerieke) modus in Linux

De absolute code '764' luidt als volgt:

  • Eigenaar kan lezen, schrijven en uitvoeren
  • Gebruikersgroep kan lezen en schrijven
  • Wereld kan alleen lezen

Dit wordt weergegeven als '-rwxrw-r–

Dit is hoe u gebruikersrechten in Linux in het bestand kunt wijzigen door een absoluut aantal toe te wijzen.

Symbolische modus in Linux

In de Absolute-modus wijzigt u de rechten voor alle drie de eigenaren. In de symbolische modus kunt u de machtigingen van een specifieke eigenaar wijzigen. Het maakt gebruik van wiskundige symbolen om de Unix-bestandsrechten te wijzigen.

Operator Technische Beschrijving

+

Voegt een machtiging toe aan een bestand of map

-

Verwijdert de toestemming

=

Stelt de machtiging in en overschrijft de eerder ingestelde machtigingen.

De verschillende eigenaren zijn vertegenwoordigd als –

Gebruikersaanduidingen

u

gebruiker / eigenaar

g

groep

o

Overige

a

allen

We zullen geen rechten gebruiken in getallen zoals 755, maar tekens zoals rwx. Laten we eens kijken naar een voorbeeld

Symbolische modus in Linux

Eigendom en groep wijzigen in Linux

Om het eigendom van een bestand/map te wijzigen, kunt u de volgende opdracht gebruiken:

chown user filename

Als u zowel de gebruiker als de groep voor een bestand of map wilt wijzigen, gebruikt u de opdracht

chown user:group filename

Laten we dit in actie zien

Eigendom en groep wijzigen in Linux

Als u alleen de groepseigenaar wilt wijzigen, gebruikt u het commando

chgrp group_name filename

'chgrp' staat voor verandergroep.

Eigendom en groep wijzigen in Linux

Tip

  • Het bestand /etc/group bevat alle groepen die in het systeem zijn gedefinieerd
  • U kunt het commando “groepen” gebruiken om alle groepen te vinden waarvan u lid bent
  • Eigendom en groep wijzigen in Linux

  • U kunt de opdracht newgrp gebruiken om als lid van een andere groep dan uw standaardgroep te werken
  • Eigendom en groep wijzigen in Linux

  • Er kunnen niet twee groepen zijn die eigenaar zijn van hetzelfde bestand.
  • Je hebt geen geneste groepen in Linux. De ene groep kan geen subgroep van de andere zijn
  • x- Het uitvoeren van een map betekent dat je een map mag “betreden” en mogelijke toegang krijgt tot submappen
  • Er zijn nog andere machtigingen die u kunt instellen voor bestanden en mappen. Deze worden later in een geavanceerde tutorial behandeld.

Overzicht:

  • Omdat Linux een systeem voor meerdere gebruikers is, worden machtigingen en eigendom gebruikt voor de veiligheid.
  • Er zijn drie gebruikerstypen op een Linux-systeem, namelijk Gebruiker, Groep en Overig
  • Linux verdeelt de bestandsrechten in lezen, schrijven en uitvoeren, aangegeven met r, w en x
  • De machtigingen voor een bestand kunnen worden gewijzigd met de opdracht 'chmod', die verder kan worden onderverdeeld in Absolute en Symbolische modus
  • Met de opdracht 'chown' kunt u het eigenaarschap van een bestand/directory wijzigen. Gebruik de volgende opdrachten: chown user file of chown user:group file
  • Met het commando 'chgrp' kan het groepseigendom worden gewijzigd chrgrp groepsbestandsnaam
  • Wat betekent x – een map uitvoeren? A: Het mogen “betreden” van een map en mogelijke toegang krijgen tot submappen.