
Bestanden en mappen op Linux-systemen zijn allemaal van iemand. U kunt hun eigendom wijzigen met de chown opdracht. We laten je zien hoe.
Elk bestand behoort tot een gebruiker en een groep
Linux is een systeem voor meerdere gebruikers. Met het besturingssysteem kunnen meerdere gebruikersaccounts worden gedefinieerd en kan elke geldige gebruiker inloggen op de computer. Bovendien kunnen meerdere gebruikers tegelijkertijd één computer gebruiken.
Om bij te houden welke bestanden bij welke gebruiker horen en om enige beveiliging af te dwingen, gebruikt Linux het concept van eigendom. Elk bestand is van een eigenaar — een gebruiker — en van een groep.
Wanneer een bestand wordt gemaakt, is de eigenaar de gebruiker die het heeft gemaakt. De groep waartoe het bestand behoort – de “eigenaar” -groep – is de huidige groep van de gebruiker. Gebruikers en groepen hebben namen en ze hebben ook numerieke identiteiten, een gebruikersidentificatie (of uniek) (UID) en een groepsidentificatiecode (GID) genoemd.
Wanneer u een bestand aanmaakt, is het uw eigendom en behoort het tot uw huidige groep. Meestal is dit de groep waarbij u zich hebt aangemeld. Standaard is dit een groep die dezelfde naam heeft als uw gebruikersnaam en die is gemaakt toen u als gebruiker op het systeem werd aangemaakt.
U kunt de chown command to kan de eigendomswaarden in iets anders veranderen. U kunt tegelijkertijd een nieuwe eigenaar, een nieuwe groep of een nieuwe eigenaar en een nieuwe groep instellen. De eigenaar van een bestand kan het groepseigendom wijzigen, maar alleen de root kan het eigenaarschap van de gebruiker wijzigen omdat het een andere gebruiker betreft. Zonder root-privileges kun je niet een andere gebruiker op het systeem ongewild een bestand laten “adopteren”.
Waarom zou u van eigenaar willen veranderen?
Hier zijn een paar voorbeelden van situaties waarin u dit zou willen doen:
- Als u bestanden uitwisselt tussen verschillende Linux of Unix-achtige besturingssystemen, moet u de gebruikers- en groepseigenaren wijzigen in de nieuwe gebruikers- en groepseigenaren van het account waaronder u de bestanden wilt gebruiken op de nieuwe Linux-computer.
- Een gebruiker kan uw organisatie verlaten en al zijn bestanden vallen onder de verantwoordelijkheid van een ander personeelslid. U moet de eigenaar en groepseigenaar wijzigen in het personeelslid dat nu verantwoordelijk is voor die bestanden.
- U mag een script schrijven dat door een specifieke gebruiker zal worden gebruikt.
- U kunt een bestand of map maken die is aangemeld als root, maar u wilt dat het toegankelijk is voor een specifieke gebruiker.
Uw groepen, UID en GID bekijken
Om een lijst te maken van de groepen waarin u zich bevindt, kunt u de groups opdracht.
groups

Om een lijst van de groepen, hun numerieke ID’s en uw UID en GID te krijgen, gebruikt u de id opdracht:
id

U kunt enkele opties met ID gebruiken om de uitvoer te verfijnen.
- -u: Maak een lijst van uw UID.
- -g: Maak een lijst van uw effectieve (huidige) GID.
- -nu: Vermeld uw gebruikersnaam.
- -ng: Vermeld uw huidige groepsnaam.
id -u
id -g
id -nu
id -ng

Gebruikers- en groepseigendom van een bestand bekijken
Om de eigenaren van een bestand of map te zien, gebruikt u de -l (lange lijst) optie met ls.
ls -l
We kunnen zien dat de naam dave komt twee keer voor in de lijst. Het meest linkse uiterlijk vertelt ons dat de bestandseigenaar een gebruiker is die wordt gebeld dave. De meest rechtse dave vertelt ons dat het bestand tot een groep behoort die ook wel wordt genoemd dave.
Wanneer een Linux-gebruiker wordt gemaakt, wordt deze standaard toegevoegd aan een privégroep met de naam van hun gebruikersnaam. Ze zijn het enige lid van die groep.
Dit uitvoerbare bestand is eigendom van de gebruiker mary en de groep waartoe het bestand behoort is mary's privé groep.
ls -l

Dit bestand is eigendom van de gebruiker oscar , maar de groep waartoe het bestand behoort, wordt genoemd researchlab . Dit betekent dat andere leden van de researchlab groep heeft toegang tot dit bestand volgens de bestandsrechten die zijn ingesteld voor de leden van die groep.
Eigendom van gebruiker wijzigen
Laten we enkele voorbeelden bekijken. Met deze opdracht wordt het gebruikseigendom van het bestand while.c gewijzigd in de gebruiker mary.
sudo chown mary while.c

We kunnen gebruiken ls om de wijzigingen in de bestandseigenschappen te zien.
ls -l while.c

Je kunt gebruiken chown om het eigendom van meerdere bestanden tegelijk te wijzigen.
sudo chown mary getval.c global.c goto.c

Dit verandert het gebruikseigendom van alle drie de bestanden.
ls -l getval.c global.c goto.c

U kunt jokertekens gebruiken om groepen bestanden te selecteren. Deze opdracht verandert het gebruikseigendom van alle bestanden die beginnen met de letter “c”.
sudo chown mary c*.*

Alle bestanden hebben nu mary als hun eigenaar. Houd er rekening mee dat geen van de groepseigenschappen is gewijzigd.
ls -l mary c*.*

Laten we het eigendom van een directory wijzigen. We geven gewoon de directorynaam door aan chown in plaats van een bestandsnaam.
sudo chown mary ./archive/

Om de eigendomskenmerken van de directory die we gebruiken te controleren ls, maar gebruik ook de -d (directory) optie. Dit geeft de eigenschappen van de directory weer, niet de bestanden erin.
ls -l -d ./archive/

Om het eigendom van alle bestanden in een directory te wijzigen, kunt u de -R (recursieve) optie. Deze optie verandert het gebruikseigendom van alle bestanden in het archive map.
sudo chown -R mary ./archive/

Laten we nu eens kijken naar de bestanden in de archiefmap.
ls -l ./archive/

Zoals verwacht behoren nu alle bestanden tot mary.
Groepseigendom wijzigen
Er zijn verschillende manieren om het groepseigendom te wijzigen.
Als u het groepseigendom wilt wijzigen terwijl u het eigendom van de gebruiker wijzigt, geeft u de nieuwe eigenaarnaam en de nieuwe groepsnaam door met een dubbele punt “:” als scheidingsteken. De groep moet al bestaan.
sudo chown mary:researchlab charm.c

De eigenaar van de gebruiker en de groep waartoe het bestand behoort, zijn beide gewijzigd.
ls -l charm.c

Een verkorte manier om het groepseigendom te veranderen in de huidige groep van de nieuwe eigenaar, geef gewoon de dubbele punt op en laat de groepsnaam weg.
sudo chown mary: caps.c

ls -l caps.c

Zowel het eigendom van de gebruiker als het eigendom van de groep is gewijzigd in mary.
Om alleen het groepseigendom te wijzigen, plaatst u een dubbele punt en laat u de gebruikersnaam weg. De eigenaar van de gebruiker wordt niet gewijzigd.
sudo chown :researchlab at.c

ls -l at.c

Het eigendom van de groep is gewijzigd, maar het eigendom van de gebruiker blijft hetzelfde.
Chown gebruiken met UID- en GID-waarden
U kunt de numerieke UID- en GID-waarden gebruiken met de chown opdracht. Met deze opdracht worden de gebruiker en het groepseigendom ingesteld op mary.
sudo chown 1001:1001 at.c

ls -l at.c

Bezit is negen tiende van de wet
Of dat zeggen ze. Maar in Linux is eigendom een enorm onderdeel van bestandsbeveiliging, waarbij bestandsmachtigingen de rest ervan voorzien. Gebruik de chown en chmod commando’s om bestandstoegang op uw systeem te beveiligen.

