Heb je jezelf ooit verstrikt gevonden in de verwarrende wereld van Linux-machtigingen? Als je nog steeds afvraagt wie mag lezen, schrijven of uitvoeren wat, dan ben je hier aan het juiste adres. Ontcijfer de ingewikkelde kunst van Linux-machtigingen, met speciale aandacht voor het krachtige duo: `chmod` en `chown`!
In deze tutorial rust je jezelf uit met de vaardigheden om toegang tot je bestanden en mappen zelfverzekerd te beheren.
Rol nu die mouwen op en verover Linux-machtigingen als een kampioen!
Vereisten
Voordat je aan deze diepe duik in Linux-machtigingen begint, zorg ervoor dat je een Linux-machine hebt om de commando’s `chmod` en `chown` onder de knie te krijgen. Deze tutorial maakt gebruik van Ubuntu 22.04 LTS (Jammy Jellyfish).
Begrip van de Commando’s `chmod` en `chown`
In de wereld van Linux-machtigingen hebben de commando’s `chmod` en `chown` aanzienlijke macht. Het begrijpen van hoe je deze commando’s effectief kunt gebruiken, is cruciaal voor elke Linux-gebruiker, van beginners tot ervaren beheerders.
Beide commando’s bieden vele manieren om je Linux-systeem te beheren, maar hier zijn de basisprincipes van wat elk kan doen:
chmod
– Dit commando is de sleutel tot het beheren van bestands- en mapmachtigingen in Linux, waarmee je kunt specificeren wie een bestand mag lezen, schrijven en uitvoeren. Door een combinatie van symbolen en numerieke codes te gebruiken, kun je toegang verlenen of beperken voor gebruikers, groepen en anderen.chown
– Met dit commando kunt u de eigendom van bestanden en mappen wijzigen. Dit commando is onmisbaar wanneer u administratieve controle moet overdragen of de associatie tussen een bestand en een gebruiker/groep wilt wijzigen.
Of het nu gaat om het beschermen van gevoelige gegevens of het stroomlijnen van toegang voor een team, deze commando’s zijn uw betrouwbare metgezellen in de wereld van Linux-bestandsbewerkingen.
Lees verder en duik nog dieper in de complexiteiten van deze commando’s.
Bestanden Lijsten en Machtigingen Bekijken
Voordat u machtigingen en eigendom wijzigt met de chmod
en chown
commando’s, is de eerste stap het lijsten van bestanden en het bekijken van hun machtigingen.
Net als het vinden van een boek in een bibliotheek, zult u in Linux vaak een lijst van bestanden moeten bekijken samen met hun bijbehorende machtigingen. Deze kennis is cruciaal voor effectief bestandsbeheer.
Om de machtigingen van een bestand of map te bekijken:
Open een terminal en voer het volgende ls
commando uit om alle bestanden en mappen in de huidige werkmap in een lang formaat (-l
) te tonen.
Het lange formaat biedt gedetailleerde informatie over elk bestand of elke map, zoals hieronder getoond.
Deze informatie omvat machtigingen, aantal koppelingen, eigenaar, groep, grootte en wijzigingstijd. Maar op dit moment richt u zich op de bestandsmachtigingen.

Drie belangrijke machtigingen beheersen elk bestand en elke map: lezen (r), schrijven (w) en uitvoeren (x). Elk bepaalt hoe gebruikers omgaan met de inhoud van elk bestand en elke map.
Bovendien wordt elke van deze machtigingen toegepast op drie verschillende categorieën van eigendom: eigenaar, groep en anderen (gebruikers die noch eigenaar zijn, noch lid zijn van de groep).
De volgende illustratie toont elk onderdeel van bestandsmachtigingen:
- Het eerste teken geeft aan of het een bestand (–) of een map (d) is.
- Het eerste deel (rw-) – Geeft de eigenaar lees- en schrijfmachtigingen, maar niet uitvoeren.
- Het tweede deel (rw-) – Verleent de groep lees- en schrijfmachtigingen, maar niet uitvoeren.
- Het laatste deel (r–) – Staat anderen toe om te lezen maar niet te schrijven of uit te voeren.

Machtigingen wijzigen via het chmod
commando: Symbolische Modus
Uw begrip van bestandsmachtigingen uitbreiden? Duik in een krachtige tool voor het aanpassen van machtigingen. Stel u voor dat u precies kunt instellen wie toegang heeft tot, wijzigt of een bestand of map uitvoert. Het chmod
commando (wijzig modus) geeft u de macht om controle te nemen over uw Linux-systeem.
Wanneer u een flexibele en expressieve manier nodig heeft om de toegang tot uw bestanden en mappen precies te regelen, zal de symbolische modus dat voor u doen.
Om machtigingen te wijzigen met behulp van het chmod
commando via de symbolische modus, volg deze stappen:
1. Voer de onderstaande who
-opdracht uit om een nieuw bestand (>
) met de naam user.txt
te maken als een niet-bevoorrechte gebruiker, met een lijst van momenteel ingelogde gebruikers op uw Linux-machine.
Deze opdracht geeft geen uitvoer op het terminalvenster, maar u zult de bestandsrechten in de volgende stap verifiëren.
2. Voer vervolgens de onderstaande opdracht uit om de rechten voor het bestand user.txt
te bekijken.
Hieronder ziet u de standaardrechten van het bestand, de eigenaar, de dag en maand van creatie en de bestandsnaam.
Let op de huidige bestandsrechten, want u zult later een vergelijking maken. Uw focus ligt nu op de gebruikersrechten (rw-).

3. Voer nu de volgende opdracht uit om de schrijf (w
) toestemming voor de eigenaar (u
) te verwijderen, waarbij elke andere toestemming voor andere categorieën ongewijzigd blijft.
De onderstaande tabel geeft weer wat elk symbool vertegenwoordigt:
User Symbol | Details | Operation Symbol | Details | Permission Symbol | Details |
---|---|---|---|---|---|
u | Owner | + | Add permissions | r | Read |
g | Group | – | Remove permissions | w | Write |
o | Others | = | Set permissions explicitly | x | Execute |
Als het gelukt is, heeft de chmod
-opdracht geen uitvoer op het terminalvenster, wat gedurende deze tutorial van toepassing is.
4. Na het wijzigen van de rechten, voer de onderstaande opdracht uit om de rechten van het bestand user.txt
te bekijken.
Vergelijk de bestandsrechten die u hebt genoteerd in stap twee (rw-) met die hieronder. Merk op dat de eigenaar (u) nu alleen leestoestemming heeft (r–).

5. Voer nu elke opdracht hieronder uit om het volgende uit te voeren:
- Voeg (
+
), schrijf (w
) en voer (x
) machtigingen toe voor de eigenaar (u
) op hetzelfdeuser.txt
bestand. - Bekijk de informatie van het
user.txt
bestand om de gewijzigde machtigingen te controleren.
Zoals hieronder getoond, heeft de gebruiker nu lees-, schrijf- en uitvoermachtigingen (rwx) voor het user.txt bestand.

6. In plaats van toe te voegen, voer de onderstaande chmod
opdracht uit om het volgende te verwijderen (-
):
- Uitvoermachtiging (
x
) voor de eigenaar (u
). - Schrijfmachtiging (
w
) voor de groep (g
). - Alle machtigingen (
rwx
) voor anderen (o
).
Deze opdracht stelt je in staat om machtigingen tegelijkertijd van verschillende categorieën te verwijderen met één enkele opdracht.
Deze keer vertelt de -v
optie aan chmod
om een bericht weer te geven over de wijzigingen die zijn aangebracht door de bewerking.

7. Voer vervolgens de volgende opdracht uit om de volgende bewerkingen uit te voeren:
- Voeg (
+
) leesmachtigingen (r
) toe voor alle categorieën. - Verwijder (
-
) schrijf- en uitvoermachtigingen (wx
) voor alle (a
) categorieën.
8. Voer nu de onderstaande opdracht uit om de bijgewerkte machtigingen van het user.txt
bestand te bekijken.

? Als alternatief kunt u dezelfde machtiging voor alle drie de categorieën (gebruiker, groep en anderen) aanpassen met de volgende opdrachten:
chmod ugo-r
– Verwijdert (-
) leesmachtigingen (r
) voor alle drie categorieën (ugo
).
chmod ugo+r
– Voegt (+
) leesmachtigingen (r
) toe voor alle drie categorieën (ugo
).
9. Voer tot slot de onderstaande opdrachten uit om het volgende uit te voeren:
chmod
– Stelt (=
) lees- en schrijfmachtigingen in voor de eigenaar en groep, en verwijdert de machtigingen van anderen (o=
).
Het symbool=
stelt je in staat om machtigingen expliciet in te stellen en eventuele bestaande machtigingen te overschrijven. Als er geen machtigingen worden gespecificeerd na het symbool=
, worden alle machtigingen voor die categorie verwijderd.ls
– Bekijk de wijzigingen die je hebt aangebracht in de machtigingen van het bestanduser.txt
.

Aanpassen van toegangsrechten met behulp van het chmod
-commando: Octale modus
Stel je voor dat je de mogelijkheid hebt om snel en nauwkeurig machtigingen in te stellen voor je bestanden zonder de complexiteit van symbolische notatie. Octale modus (octale notatie) wordt je nieuwe favoriete methode voor het beheren van machtigingen.
In octale modus (octale notatie) worden machtigingen weergegeven met een vier- of driecijferig getal, van 0 tot 7. Elk getal komt overeen met een specifieke reeks machtigingen voor de eigenaar, groep en anderen, zoals volgt:
- Lezen (r) = 4
- Schrijven (w) = 2
- Uitvoeren (x) = 1
- Geen machtigingen (-) = 0
Om te zien hoe octale modus werkt bij het beheren van bestandsmachtigingen, voer deze stappen uit:
1. Voer het onderstaande chmod
-commando uit om de volgende machtigingen (664
) toe te voegen aan het bestand user.txt
:
- Eigenaar – lezen (
4
) + schrijven (2
) + uitvoeren (0
) =6
- Groep – lezen (
4
) + schrijven (2
) + uitvoeren (0
) =6
- Anderen – lezen (
4
) + schrijven (0
) + uitvoeren (0
)=4
Bij het gebruik van een viercijferig nummer met het chmod
-commando voor bestandsmachtigingen in Linux, vertegenwoordigt het leidende cijfer (meest links) speciale machtigingen, zoals setuid, setgid en sticky bit. De volgende drie cijfers vertegenwoordigen respectievelijk de standaardmachtigingen voor de eigenaar, groep en anderen.
Maar bij het gebruik van een driecijferig nummer vertegenwoordigt het eerste cijfer de machtigingen van de eigenaar van het bestand (u
), het tweede voor de groep van het bestand (g
) en het laatste voor anderen (o
).
In veel gevallen, vooral wanneer er geen speciale machtigingen worden behandeld, zie je mogelijk alleen de notatie van drie cijfers. De leidende nul, die octale notatie aangeeft, kan worden geïmpliceerd en dus weggelaten. Zoals in het onderstaande voorbeeld, in plaats van 0664
, gebruik je 664
.
2. Voer vervolgens het onderstaande commando uit om de machtigingen voor het bestand user.txt
weer te geven.
In de onderstaande uitvoer kun je zien dat de ingestelde machtigingen voor het bestand user.txt zijn in symbolische modus, wat equivalent is aan 664 in octale modus.

3. Voer nu het stat
-commando hieronder uit om een uitgebreide reeks statistieken over het user.txt
-bestand te bekijken, inclusief de machtigingen in de symbolische en octale modi.
Op het Toegang-eigenschap, zoals hieronder weergegeven, zie je de octale en symbolische modus die geassocieerd is met de bestandsmachtigingen van het user.txt-bestand.
Met deze informatie verbeter je je begrip van het aanpassen van machtigingen met behulp van de octale modus.

Bestandseigenaarschap wijzigen met het chown
-commando
Hoewel machtigingen bepalen welke acties kunnen worden uitgevoerd op een bestand of map, kun je specificeren wie het recht heeft om deze machtigingen in te stellen of te wijzigen door het eigendom te wijzigen.
Het chown
-commando (wijzig eigenaar) is het primaire commando voor het beheren van het eigendom van bestanden en mappen. Net als het chmod
-commando is het chown
-commando een commando dat alleen door root kan worden uitgevoerd – alleen de rootgebruiker kan het eigendom van een bestand of map wijzigen.
Om het eigendom te beheren met het chown
-commando, ga je verder met de onderstaande stappen:
1. Voer de onderstaande commando’s uit om een gebruiker (useradd
) met de naam bill
te maken en een sterk wachtwoord te geven.
Je moet meer dan één gebruiker op je lokale machine hebben, anders dan de standaardgebruiker, dat ben jij, om te zien hoe het wijzigen van eigendom werkt.

2. Voer vervolgens elk van de onderstaande commando’s uit, schrijf een lijst van momenteel ingelogde gebruikers (who
) naar een bestand genaamd new.txt
als een niet-bevoegde gebruiker, en bekijk (ls
) de eigenaar en machtigingen ervan.
Hieronder toont de uitvoer dat het bestandseigenaar is mercy.

3. Met de eigenaar geverifieerd, voer het chown
commando hieronder uit om de eigenaar van het bestand new.txt
te veranderen naar bill
.
Net als het chmod
commando geeft het chown
commando geen uitvoer, maar je zult de eigenaarswijziging in de volgende stap verifiëren.
4. Voer nu het volgende commando uit om (ls
) de nieuwe eigenaar van het bestand new.txt
te bekijken.
De uitvoer hieronder bevestigt dat je met succes de eigenaar van het new.txt bestand hebt gewijzigd naar bill, die nu controle en autoriteit heeft over dat bestand.

Het Afdwingen van het chown
Commando om Groepseigenaarschap te Wijzigen
In het Linux-bestandssysteem is elk bestand en elke map niet alleen geassocieerd met een individuele eigenaar, maar ook met een groep. Net zoals een enkel instrument dat niet goed gestemd is de hele ensemble kan verstoren, kan incorrect eigenaarschap leiden tot mogelijke problemen.
Moet je je zorgen maken? Niet echt. Groepsassociatie maakt een gelaagde aanpak van bestandsmachtigingen mogelijk. Deze aanpak maakt het mogelijk dat meerdere gebruikers samenwerken en toegang delen op basis van groepslidmaatschap.
Om de groepseigenaar aan te passen, volg de onderstaande stappen:
1. Voer de onderstaande opdracht uit om de groep te bekijken die is gekoppeld aan het bestand new.txt
.

2. Voer vervolgens de onderstaande opdrachten uit, die geen uitvoer geven maar het volgende uitvoeren:
- Maak een groep (
groupadd
) genaamddevelopers
. - Wijzig de groepseigenaar (
chown
) van het bestandnew.txt
naardevelopers
.
? Als alternatief, in plaats van een individuele benadering, gebruik de volgende opdrachten om recursief de eigenaar en groepseigenaar van een bestand of een hele map te wijzigen.
sudo chown -R john:finance-group user.txt
sudo chown -R john:finance-group ~/Desktop
3. Voer nu de volgende opdracht opnieuw uit om de nieuwe groepseigenaar van het bestand (ls
) new.txt
te bekijken.
Hieronder bevestigt de uitvoer dat je succesvol de groepseigenaar van het bestand new.txt hebt gewijzigd naar developers.

Bestandseigenaar wijzigen via numerieke UID en GID
Terwijl gebruikersnamen en groepsnamen een menselijke leesbare manier bieden om bestandseigenaren te identificeren, zijn elke gebruiker en groep ook geassocieerd met unieke numerieke identificatoren.
Deze unieke numerieke identificatoren zijn gebruikers-ID (UID) en groeps-ID (GID). Ze bieden een ondubbelzinnige manier om bestandseigenaarschap in te stellen in omgevingen met overlappende of vergelijkbare gebruikers- en groepsnamen.
Om de eigenaar te wijzigen met behulp van numerieke UID’s en GID’s, voer deze stappen uit:
1. Voer de onderstaande opdracht uit om informatie (ls
) over het bestand new.txt
weer te geven.
De -n
-optie vertelt het ls
-commando om numerieke UID’s en GID’s weer te geven in plaats van deze om te zetten naar hun overeenkomstige gebruikers- en groepsnamen.
Noteer de UID en GID die zijn gekoppeld aan het new.txt
-bestand, want je hebt ze nodig voor vergelijkingen in de volgende stap.

2. Voer vervolgens de volgende getent
-opdrachten uit om de UID en GID van de gebruiker en groep op te halen die je wilt instellen voor de eigenaar van je bestand.
Zorg ervoor dat je <gebruikersnaam>
en <groepsnaam>
-placeholders vervangt door je gewenste gebruikersnaam en groepsnaam.
Noteer de UID (bijv. 1002) en GID (bijv. 1005) in de volgende uitvoer, want je hebt ze nodig om de eigendom in de volgende stap te wijzigen.
Standaard wordt wanneer een gebruiker wordt aangemaakt in Linux ook een groep met dezelfde naam als de gebruiker aangemaakt. Deze groep dient als de primaire groep van de gebruiker en wordt automatisch aan deze primaire groep toegevoegd.
Dus het GID voor de gebruiker john
verschilt van het GID van de finance
-groep. Tenzij de gebruiker expliciet aan de groep wordt toegevoegd, blijven hun respectieve GID’s verschillend.

3. Voer vervolgens de volgende opdracht uit om de eigenaar en groepseigenaar van het new.txt
-bestand te wijzigen. Zorg ervoor dat je 1002
en 1005
vervangt door de waarden die je hebt genoteerd in stap twee.
? Merk op dat het gebruik van numerieke UIDs en GIDs minder leesbaar kan zijn dan gebruikersnamen en groepsnamen. Zorg er dus voor dat je de juiste nummers gebruikt om onbedoelde wijzigingen te voorkomen.
4. Ten slotte, voer de onderstaande opdracht opnieuw uit om informatie (ls
) over het bestand new.txt
weer te geven en controleer de wijzigingen in de eigenaar van het bestand.
Vergelijk de UID en GID die je in stap één hebt genoteerd met de onderstaande. Let op dat de nieuwe bestandseigenaar is gewijzigd van 1001:1003 naar 1002:1005.

Conclusie
Je bent zojuist begonnen aan een uitgebreide verkenning van Linux-machtigingen, waarbij je de controle hebt over cruciale commando’s zoals chmod
en chown
. Gedurende deze tutorial ben je bedreven geworden in het aanpassen van machtigingen met symbolische en octale modi.
Je hebt ook de vaardigheden verworven om bestandseigendom en groepsopdrachten te beheren, zowel op naam als via numerieke UID en GID. Met deze nieuw verworven expertise in chmod
en chown
heb je nu krachtige tools in handen om toegang en eigendom binnen je Linux-systeem te regelen.
Maar waarom versterk je je Linux-vaardigheden niet verder? Overweeg misschien om dieper in te gaan op geavanceerde toegangsbeheermethoden, waaronder Access Control Lists (ACL’s)? Streef naar nog nauwkeuriger controle over bestands- en mapmachtigingen!