Bestandsrechten in Linux/Unix: lezen, schrijven en wijzigen
⚡ Slimme samenvatting
In Linux en Unix bepalen bestandsrechten wie elk bestand kan lezen, schrijven en uitvoeren. Dit beschermt een systeem met meerdere gebruikers op twee manieren: eigendom, dat een gebruiker, groep en anderen rechten toewijst, en de lees-, schrijf- en uitvoerrechten.

Bestandsrechten in Linux Unix bepaalt wie elk bestand mag lezen, wijzigen of uitvoeren, wat de veiligheid van een gedeeld systeem met meerdere gebruikers waarborgt. Deze pagina behandelt bestandseigendom, de lees-, schrijf- en uitvoerrechten en de commando's waarmee deze rechten kunnen worden gewijzigd.
Linux is een kloon van Unix, het multi-user besturingssysteem dat door veel gebruikers tegelijkertijd kan worden gebruikt. Linux kan ook zonder aanpassingen op mainframes en servers worden gebruikt. Dit brengt echter beveiligingsrisico's met zich mee, omdat een ongevraagde of kwaadwillende gebruiker cruciale gegevens kan beschadigen, wijzigen of verwijderen. Voor effectieve beveiliging verdeelt Linux de autorisatie in twee niveaus:
- Eigendom
- Toestemming
Het concept van bestandsrechten en -eigendom is cruciaal in Linux. Hier leggen we de Linux-rechten en -eigendom uit en bespreken we beide. Laten we beginnen met eigendom.
Eigendom van Linux-bestanden
Aan elk bestand en elke map op uw Unix/Linux-systeem worden drie soorten eigenaren toegewezen, zoals hieronder weergegeven. Het onderstaande diagram laat zien hoe het eigenaarschap is gekoppeld aan de gebruiker, de groep en anderen.
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
A gebruikersgroep Een groep kan meerdere gebruikers bevatten. Alle gebruikers die tot een groep behoren, hebben dezelfde Linux-groepsrechten voor het bestand. Stel dat u een project hebt waarbij een aantal mensen toegang tot een bestand nodig hebben. In plaats van handmatig rechten toe te wijzen aan elke gebruiker, kunt u alle gebruikers toevoegen aan een groep en groepsrechten toewijzen aan het bestand, zodat alleen deze groepsleden, en niemand anders, de bestanden kunnen lezen of wijzigen.
Overige
Iedere andere gebruiker die toegang heeft tot een bestand. Deze persoon heeft het bestand niet aangemaakt en behoort ook niet tot een gebruikersgroep die eigenaar van het bestand zou kunnen zijn. In de praktijk betekent dit iedereen. Daarom wordt het instellen van machtigingen voor anderen ook wel 'machtigingen voor iedereen' genoemd.
Nu rijst de grote vraag: hoe maakt Linux onderscheid tussen deze drie gebruikerstypen, zodat gebruiker 'A' geen toegang heeft tot een bestand dat essentiële informatie of gegevens van gebruiker 'B' bevat? Het is alsof je niet wilt dat een collega die aan jouw project werkt, toegang heeft tot jouw systeem. Linux-computer om je afbeeldingen te bekijken. Hier komen machtigingen om de hoek kijken, die het gebruikersgedrag bepalen.
Laten we het permissiesysteem op Linux eens nader bekijken.
Linux-bestandsmachtigingen
Elk bestand en elke map in uw Unix/Linux-systeem heeft de volgende drie machtigingen gedefinieerd voor elk van de drie hierboven besproken eigenaren.
- Lezen: Met deze machtiging kunt u een bestand openen en lezen. Leesrechten voor een map geven u de mogelijkheid om de inhoud ervan weer te geven.
- Schrijven: Met schrijfrechten kunt u de inhoud van een bestand wijzigen. Schrijfrechten voor een map geven u de bevoegdheid om bestanden in die map toe te voegen, te verwijderen en te hernoemen. Stel dat u schrijfrechten hebt voor een bestand, maar niet voor de map waarin het bestand is opgeslagen. U kunt de inhoud van het bestand wel wijzigen, maar u kunt het bestand niet hernoemen, verplaatsen of verwijderen uit de map.
- Voer uit: In WindowsEen uitvoerbaar programma heeft meestal de extensie ".exe", waardoor je het gemakkelijk kunt starten. In Unix/Linux kun je een programma niet uitvoeren tenzij de uitvoerrechten zijn ingesteld. Als de uitvoerrechten niet zijn ingesteld, kun je de programmacode mogelijk wel bekijken of wijzigen (mits de lees- en schrijfrechten zijn ingesteld), maar je kunt het programma niet uitvoeren.
Laten we de bestandsrechten in Linux eens bekijken aan de hand van voorbeelden. Door `ls -l` in de terminal uit te voeren, krijgen we het volgende resultaat:
ls -l
De onderstaande schermafbeelding toont de permissiestring in een lange lijst.
Hier hebben we '-rw-rw-r–' gemarkeerd. Deze vreemd uitziende code geeft informatie over de Unix-rechten die zijn toegekend aan de eigenaar, de gebruikersgroep en de rest van de wereld.
Het eerste '-' teken geeft aan dat we een bestand hebben geselecteerd. Het pictogram hieronder markeert een gewoon bestand.
Anders zou er, als het een map was geweest, een 'd' zijn weergegeven, zoals in de onderstaande lijst.
De personages zijn vrij gemakkelijk te onthouden.
- r = leesrechten
- w = schrijftoestemming
- x = uitvoeringsrechten
- – = geen toestemming
Laten we het zo bekijken. Het eerste deel van de code is 'rw-'. Dit suggereert dat de eigenaar 'Home' het volgende kan doen:
- Lees het bestand
- Schrijf of bewerk het bestand
De eigenaar kan het bestand niet uitvoeren, omdat de uitvoerbit is ingesteld op '-'. Het onderstaande pictogram laat zien dat de uitvoerbit is gewist en vervangen door een streepje.
Veel Linux-distributies, zoals Fedora, CentOS en, zijn zo ontworpen dat ze dat ook daadwerkelijk doen. Ubuntu Een gebruiker toevoegen aan een groep met dezelfde naam als de gebruiker. Zo wordt gebruiker 'tom' toegevoegd aan een groep met de naam 'tom'.
Het tweede deel is 'rw-'. Dit is voor de gebruikersgroep 'Home', en groepsleden kunnen:
- Lees het bestand
- Schrijf of bewerk het bestand
Het derde deel is voor de hele wereld, oftewel voor elke gebruiker. Er staat 'r–'. Dit betekent dat de gebruiker alleen het volgende kan doen:
- Lees het bestand
Onderstaande tabel koppelt elk onderdeel van de permissiestring aan de eigenaar, de groep en de hele wereld.
Het wijzigen van bestands-/maprechten in Linux met behulp van het 'chmod'-commando.
Stel, je wilt niet dat een collega je persoonlijke foto's kan zien. Dit kun je regelen door de bestandsrechten aan te passen.
We kunnen 'chmod' gebruiken. commando, wat staat voor 'change mode'. Met dit commando kunnen we de machtigingen (lezen, schrijven, uitvoeren) van een bestand of map instellen voor de eigenaar, de groep en iedereen.
Syntax:
chmod permissions filename
Er zijn twee manieren om het commando te gebruiken:
- Absolute modus
- Symbolische modus
Absolute (numerieke) modus in Linux
In deze modus worden bestandsrechten niet als tekens weergegeven, maar als een octaal getal van drie cijfers. De onderstaande tabel geeft de getallen voor alle soorten rechten.
| 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 het chmod-commando in actie zien, zoals weergegeven in het onderstaande terminalvenster.
In het bovenstaande terminalvenster hebben we de rechten van het bestand 'sample' gewijzigd naar '764'. De absolute code '764' betekent het volgende:
- De eigenaar kan lezen, schrijven en uitvoeren.
- De gebruikersgroep kan lezen en schrijven.
- De wereld kan alleen lezen.
Dit wordt weergegeven als '-rwxrw-r–', zoals in het onderstaande resultaat.
Zo kun je in Linux de gebruikersrechten van een bestand wijzigen door een absoluut getal toe te wijzen.
Symbolische modus in Linux
In de absolute modus wijzig je de machtigingen voor alle drie de eigenaren. In de symbolische modus kun je de machtigingen van een specifieke eigenaar wijzigen. Hierbij worden wiskundige symbolen gebruikt om de Unix-bestandsmachtigingen aan te passen.
| Operator | 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 worden als volgt weergegeven.
| Gebruiker | Betekenissen |
|---|---|
| u | gebruiker / eigenaar |
| g | groep |
| o | Overige |
| a | allen |
We zullen geen machtigingen in numerieke vorm zoals 755 gebruiken, maar in tekens zoals rwx. Laten we het onderstaande voorbeeld bekijken.
Eigendom en groep wijzigen in Linux
Om het eigenaarschap van een bestand of map te wijzigen, kunt u de volgende opdracht gebruiken:
chown user filename
Als je zowel de gebruiker als de groep voor een bestand of map wilt wijzigen, gebruik dan de volgende opdracht:
chown user:group filename
Laten we dit in actie zien, zoals hieronder weergegeven.
Als je alleen de groepseigenaar wilt wijzigen, gebruik dan de volgende opdracht:
chgrp group_name filename
'chgrp' staat voor change group (groep wijzigen). De onderstaande schermafbeelding laat het gebruik van het chgrp-commando zien.
Tip
- Het bestand /etc/group bevat alle groepen die op het systeem zijn gedefinieerd.
- Je kunt het commando "groups" gebruiken om alle groepen te vinden waarvan je lid bent, zoals hieronder weergegeven.
- Met het commando newgrp kunt u als lid van een andere groep dan uw standaardgroep werken, zoals hieronder wordt weergegeven.
- Je kunt niet toestaan dat twee groepen eigenaar zijn van hetzelfde bestand.
- In Linux bestaan geen geneste groepen. De ene groep kan geen subgroep zijn van een andere.
- x — het uitvoeren van een map betekent dat men toestemming krijgt om een map te "betreden" en mogelijk toegang te krijgen tot submappen.
- Er zijn nog andere machtigingen die u kunt instellen voor bestanden en mappen, die in een latere, meer geavanceerde handleiding aan bod komen.






.png)
.png)
.png)
.png)
.png)


