Als u al enige tijd Windows beheert, hebt u waarschijnlijk ervaring met het beheren van gebruikersaccounts, het NTFS-bestandssysteem en het instellen van machtigingen. Als dat het geval is, bereid u dan voor op een andere wereld met Linux-bestandsmachtigingen! In Linux is het bestandssysteem een ander beest dat u moet leren om een bekwame Linux-beheerder te zijn.
Dit is deel II van onze vierdelige serie over het leren van Linux vanuit het perspectief van een Windows-beheerder! Zorg ervoor dat u Deel I leest als u dat nog niet hebt gedaan.
Werken met het bestandssysteem
Laten we eerst kijken naar hoe Linux bestanden opslaat en beheert via het bestandssysteem.
Let op: Alle voorbeelden zullen gebruikmaken van OpenSUSE Linux.
Geen schijfletters meer
In tegenstelling tot Windows, krijgen verwijderbare schijven en andere apparaten geen automatisch een schijfletter en gaan ze open bij het opnieuw opstarten. In Windows wordt elke schijf als een schijfletter gemonteerd: C:\, D:\, enzovoort. Hoe werken schijfletters in Linux? Die zijn er niet!
In Linux is er een map genaamd de root-map. Deze map bevindt zich in de hoofdmap van het bestandssysteem of gewoon /
. De schuine streep naar voren is de eerste schuine streep voor elk ander bestand in het systeem. Deze schuine streep is een soort van de basis C:\, maar alleen als de andere schijfletters alleen bestonden als een submap van C:\.
De root-map is waar de kernsysteembestanden zich bevinden. Al het andere, inclusief andere apparaten, zijn een submap van deze centrale map.
Linux vervaagt de grens tussen mappen en bestandssystemen. De Linux-map /home is de root van alle gebruikers “profielen” vergelijkbaar met de map C:\Gebruikers in Windows. In dit geval is /home een map. Echter, “mappen” in Linux hoeven niet per se mappen te zijn. Ze kunnen ook opslagpartities zijn of zelfs een aparte harde schijf helemaal. Dit concept is analoog aan Windows-mountpunten.
Je kunt meer leren over rootmappen in dit artikel.
Gebruikers en Thuismappen
Als je OpenSUSE gebruikt, zie je misschien een Thuis map op je bureaublad zoals hieronder weergegeven. Deze map is de Linux-versie van de C:\gebruikers\<gebruikersnaam> map of “profiel”. De Linux “gebruikers” map bevindt zich standaard onder /home op je installatieschijf.
In het onderstaande voorbeeld heet de gebruiker homelab met een “profiel” gelegen in /home/homelab.

In Linux (en Windows) heeft de thuismap (of gebruikersprofiel in Windows) een verkorte notatie van een tilde (~). Als je iets ziet als
"~/Documenten/blah.txt
, verwijst het eigenlijk naar je/home/<gebruikersnaam>/Documenten/blah.txt
bestand.
Hoofdlettergebruik is Alles in Linux
Alles in Linux is hoofdlettergevoelig. Dit concept staat in schril contrast met Windows, waar bijna niets hoofdlettergevoelig is.
Bijvoorbeeld, als je een map hebt genaamd /home/homelab, kan een compleet andere map genaamd /home/Homelab bestaan. Dit concept geldt ook voor commando’s. Het uitvoeren van cd /home/homelab
is anders dan CD /home/homelab
(wat zou moeten mislukken).
Als een Windows-gebruiker zal dit concept je op een gegeven moment verwarren. Wees zeer voorzichtig met hoofdlettergebruik! Hieronder zie je een voorbeeld van twee aparte mappen. Het enige verschil tussen de twee is hoofdlettergebruik: In een Windows-omgeving is dit niet mogelijk.

Gebruikersaccounts
Net als Windows heeft Linux het concept van gebruikersaccounts, maar ze gedragen zich een beetje anders. Begin eerst door Linux-gebruikersaccounts te beschouwen in termen van je bekende Windows-gebruikersaccounts.
Windows heeft enkele ingebouwde gebruikersaccounts zoals Administrator, het verborgen SYSTEM-account, Guest, enz. Windows heeft ook verschillende ingebouwde beveiligingsgroepen zoals Administrators, Guests, enz.
Je kunt alle Windows-gebruikers en groepen bekijken via de Local Users and Groups MMC door delusrmgr.msc MMC-snap-in uit te voeren.

Windows SIDs
Om gebruikers en groepen uniek te identificeren, verwijst Windows naar gebruikers en groepen via iets dat SID wordt genoemd. In Windows kun je de SID van elke gebruiker en groep vinden door een paar PowerShell-commando’s hieronder uit te voeren.

Elke Windows groep SID is hetzelfde op alle Windows computers. De ingebouwde gebruiker SID
‘s voor Windows zijn uniek. Die Administrator SID die je ziet in de bovenstaande schermafbeelding zou op elke Windows computer anders moeten zijn. Elke toekomstige gebruiker of groep die in Windows wordt aangemaakt, zal uniek zijn. Let hieronder op de test groep. Als je een test groep zou aanmaken op je Windows computer, zou de SID anders zijn.

Linux gebruikers-ID’s
Aan de andere kant behandelt Linux gebruikers en groepen op dezelfde manier, maar dit keer gebruikt Linux geen SIDs maar gebruikers-ID’s (UID’s) en groeps-ID’s (GID’s). Ook anders dan Windows, zijn gebruikers en groepen uniek voor de computer, maar niet uniek over alle computers. Dit betekent dat je UID op Computer A hetzelfde kan zijn als de exacte UID op Computer B, zelfs als het niet dezelfde gebruiker is.
Zowel UIDs als GIDs volgen een eenvoudige numerieke conventie; elke UID en GID begint bij 0 en wordt verhoogd met één, variërend van 1-999 voor interne systeemaccounts en 1000+ voor aangepaste gebruikersaccounts.
De ingebouwde root gebruiker heeft altijd een UID van 0 en een GID van 0. Net als het verborgen SYSTEM-account in Windows, is dit root-account over het algemeen (afhankelijk van de Linux distributie) niet toegestaan om in te loggen.
De ingebouwde root gebruiker is vergelijkbaar met de ingebouwde SYSTEM- en Administrator-accounts in Windows, min of meer samengevoegd in één account. Zelfs als je als beheerder werkt in Windows, zijn er nog steeds ingebouwde beveiligingsmaatregelen om te voorkomen dat je Windows volledig vernietigt.
De root-gebruiker daarentegen heeft absolute autoriteit. Als je bewust overschakelt naar de root-gebruiker (je kunt dit doen op de opdrachtregel met het commando
sudo su
) en probeert je hele besturingssysteem te verwijderen, zal root dit met plezier doen totdat het systeem crasht.
Stel dat je een gebruiker genaamd homelab hebt gemaakt. Het UID voor homelab kan vervolgens worden aangeduid als 1000 of als homelab. De gebruiker wordt automatisch lid van de interne groep users, die kan worden aangeduid met de groeps-ID 100. Je kunt een lijst van deze koppelingen vinden door het commando getent passwd
uit te voeren zoals hieronder weergegeven:

getent passwd
inside the terminalJe kunt dezelfde informatie als hierboven vinden voor groepen met het commando getent group
.

getent group
inside the terminalLinux-bestandsrechten
In een Windows-wereld zijn bestandsrechten niet leuk. Het instellen en beheren van rechten in NTFS kan soms een nachtmerrie worden met ACE, ACL’s, overerving, propagatie, enz. Gelukkig zijn bestandsrechten in Linux veel eenvoudiger.
In Linux kun je drie soorten rechten toewijzen aan een bestand: lezen, schrijven en uitvoeren, met drie categorieën van toegang: eigenaar, groep, anderen.
- Eigenaar is de gebruiker die het bestand/de map bezit. Elk bestand of elke map heeft een aangewezen eigenaar.
- Groep is de groep die het bestand/de map bezit. Dit hoeft niet dezelfde groep te zijn als waar de eigenaar bij hoort. Elk bestand of elke map kan slechts aan één groep toebehoren.
- Anderen zijn… nou ja… anderen. Het zijn mensen die geen deel uitmaken van de eigenaarsgroep of niet de aangewezen eigenaar zijn.
Je kunt elke optie toestaan of weigeren voor elke categorie. Als voorbeeld: je kunt lees-, schrijf- en uitvoeringsopties geven voor de eigenaar, en lees-/uitvoeringsopties voor de groep en anderen. Zoals je kunt zien in de onderstaande schermafbeelding. Dit betekent dat iedereen behalve de gebruiker die eigenaar is van de map, het niet kan wijzigen.
Net als Windows Verkenner kun je in Ubuntu deze informatie zien door het volgende te doen:
- Open je Homemap op je bureaublad.
- Navigeer naar het betreffende bestand/map.
- Klik met de rechtermuisknop op het bestand/map en klik op Eigenschappen.
- Klik op het tabblad Machtigingen.
- Klik op Geavanceerde machtigingen.
Als je eenmaal in het venster Geavanceerde machtigingen bent, kun je grafisch alle machtigingen zien die aan dat bestand of die map zijn toegewezen.

Hieronder staat wat de tabel Geavanceerde machtigingen vertegenwoordigt.

Bestandseigendom
Net als Windows heeft elk bestand en elke map een eigenaar. In Windows kun je eigenaar worden van een bestand in de GUI of via het takeown-commando. In Linux neem je eigenaarschap door chown <gebruiker>:<groep> <bestand/map>
uit te voeren op de opdrachtregel.
Net als Windows heb je over het algemeen beheerdersrechten nodig om eigenaarschap van bestanden te wijzigen met sudo. sudo is het Linux-equivalent van Windows’ User Account Control (UAC). In plaats van een administratieve opdrachtregelvenster te openen, voeg je sudo toe aan opdrachten om het als beheerder uit te voeren.
Laten we een map maken die alleen eigendom is van root om enkele van deze concepten te demonstreren.
- Open je thuismap en navigeer naar Documenten
- Open een opdrachtprompt door rechtsklikken —> Acties —> Hier Terminal Openen, en voer het volgende uit:

Deze map heeft alleen lees-/schrijf-/uitvoeringsrechten voor de eigenaar. Omdat je de map met beheerdersrechten hebt gemaakt, is die eigenaar momenteel root.
Je hebt ook de rechten gewijzigd zodat alleen de eigenaar toegang heeft. De eigenaarsgroep en andere gebruikers kunnen helemaal geen toegang krijgen tot deze map. Je zult zelfs merken dat de map een groot slot heeft dat aangeeft dat je geen toegang hebt.
Hieronder kun je zien hoe je het eigendom van deze map kunt overnemen.
- Open een andere terminal in diezelfde map (of gebruik degene die je al had)
- Voer uit
sudo chown homelab:gebruikers ./owned-by-root

Nu je eigenaar bent, kun je ook de bestandsrechten binnen de verkenner GUI wijzigen met behulp van het eigenschappenvenster.

Je wilt (meestal) alleen eigenaarschappen wijzigen, niet bestandsrechten. Linux is vrij goed in het weten welke rechten dingen standaard horen te hebben. Je kunt echt dingen in de war schoppen door ‘chmodding’ zonder de implicaties te kennen.
Numerieke Notatie voor Bestandsrechten
Als je enige Linux-probleemoplossing hebt gedaan, heb je misschien mensen online bestandsrechten zien uitleggen met behulp van een nummerschema. Je kunt dat hieronder in de screenshot zien:

Linux maakt gebruik van een verkorte notatie voor dit toegangssysteem met getallen, zoals 0600. Het eerste getal is voor enkele speciale eigenschappen die je kunt toevoegen, waar mensen over het algemeen geen acht op slaan. Sterker nog, de meeste mensen gebruiken slechts drie cijfers voor de notatie en negeren het leidende vierde cijfer.
Voor meer informatie over numerieke notatie voor bestandsmachtigingen, bekijk dit artikel.
Wrap Up
Dat is alles voor Deel II van onze blogpostserie Een Windows-man in een Linux-wereld! Zorg ervoor dat je het momentum vasthoudt met Deel III!
Source:
https://adamtheautomator.com/linux-file-permissions/