Elke gebruiker op een Linux-systeem heeft een gebruikersnaam, een user ID (UID) en behoort tot minstens een groep. Deze informatie is opgeslagen in twee belangrijke bestanden:
/etc/passwd -- bevat informatie over alle gebruikers (gebruikersnaam, UID, home-directory, shell)/etc/group -- bevat informatie over alle groepen (groepsnaam, GID, leden)Handige commando's om je eigen informatie op te vragen:
| Commando | Betekenis |
|----------|-----------|
| whoami | Toon je huidige gebruikersnaam |
| id | Toon je UID, GID en groepslidmaatschappen |
| groups | Toon de groepen waar je lid van bent |
Vraag op welke gebruiker je op dit moment bent ingelogd.
Bekijk je volledige gebruikersinformatie, waaronder je user ID (UID), group ID (GID) en alle groepen waar je bij hoort.
Toon een overzicht van alle groepen waar jij lid van bent.
In het bestand /etc/passwd staat informatie over alle gebruikers. Zoek daarin de regel die bij de gebruiker user hoort.
Het bestand /etc/group bevat informatie over alle groepen op het systeem. Zoek daarin alle regels die de tekst user bevatten.
Bekijk de gebruikersinformatie (UID, GID en groepen) van de root-gebruiker, zonder in te loggen als root.
Op Linux draait alles om rechten. De root-gebruiker (ook wel superuser) heeft volledige controle over het systeem. Normale gebruikers hebben beperkte rechten.
Er zijn twee manieren om tijdelijk verhoogde rechten te krijgen:
| Commando | Betekenis |
|----------|-----------|
| sudo commando | Voer een enkel commando uit als root |
| su gebruiker | Wissel naar een andere gebruiker |
| sudo su | Wissel naar de root-gebruiker |
Met sudo voer je een enkel commando uit met root-rechten. Je moet hiervoor lid zijn van de sudo-groep. Na het commando ben je weer gewone gebruiker.
Met su wissel je helemaal naar een andere gebruiker. Je krijgt dan een nieuwe shell als die gebruiker.
Controleer als welke gebruiker een commando wordt uitgevoerd wanneer je het met verhoogde rechten draait. Vraag hiervoor de huidige gebruikersnaam op, maar dan met root-rechten.
Het bestand /etc/shadow bevat wachtwoordinformatie en is alleen leesbaar voor de root-gebruiker. Toon de inhoud van dit bestand.
De map /root is de home-directory van de root-gebruiker en is alleen voor root toegankelijk. Maak een leeg bestand aan op het pad /root/test.txt.
De hostnaam van het systeem staat opgeslagen in /etc/hostname. Toon de inhoud van dit bestand. Let op: je hebt hiervoor verhoogde rechten nodig.
Als systeembeheerder moet je gebruikers kunnen aanmaken en verwijderen. Dit vereist root-rechten, dus je gebruikt sudo bij alle commando's.
| Commando | Betekenis |
|----------|-----------|
| sudo useradd naam | Maak een nieuwe gebruiker aan (zonder home-directory) |
| sudo useradd -m naam | Maak een nieuwe gebruiker aan met home-directory |
| sudo userdel naam | Verwijder een gebruiker |
| sudo userdel -r naam | Verwijder een gebruiker inclusief home-directory |
| sudo passwd naam | Stel een wachtwoord in voor een gebruiker |
De optie -m bij useradd is belangrijk: zonder deze optie wordt er geen home-directory aangemaakt voor de nieuwe gebruiker. In de praktijk wil je bijna altijd -m gebruiken.
Je wilt een nieuwe gebruiker genaamd student toevoegen aan het systeem. Maak dit account aan zonder extra opties (dus zonder home-directory).
Controleer of de gebruiker student succesvol is aangemaakt door diens gegevens op te zoeken in het bestand /etc/passwd.
Maak een nieuwe gebruiker genaamd docent aan. Zorg ervoor dat er automatisch een persoonlijke home-directory voor deze gebruiker wordt aangemaakt.
De gebruiker student is niet langer nodig. Verwijder dit account van het systeem.
Maak een gebruiker testuser aan met een eigen home-directory. Verwijder daarna deze gebruiker weer volledig, inclusief de bijbehorende home-directory. Voer beide stappen uit in een enkel commando door ze te koppelen met &&.
Groepen zijn een handige manier om rechten te organiseren. In plaats van rechten per gebruiker in te stellen, kun je gebruikers aan groepen toevoegen en rechten op groepsniveau instellen.
| Commando | Betekenis |
|----------|-----------|
| sudo groupadd naam | Maak een nieuwe groep aan |
| sudo groupdel naam | Verwijder een groep |
| sudo usermod -aG groep gebruiker | Voeg een gebruiker toe aan een groep |
| groups gebruiker | Toon de groepen van een gebruiker |
De optie -aG bij usermod is belangrijk:
-a staat voor append -- toevoegen aan de groep (zonder bestaande groepen te verwijderen)-G geeft aan dat je een aanvullende groep (supplementary group) insteltZonder -a zou de gebruiker uit alle andere aanvullende groepen worden verwijderd.
Je wilt een nieuwe groep aanmaken op het systeem met de naam ontwikkelaars.
Controleer of de groep ontwikkelaars succesvol is aangemaakt door deze op te zoeken in het bestand /etc/group.
Maak een nieuwe gebruiker dev1 aan met een eigen home-directory. Voeg daarna dev1 toe aan de bestaande groep ontwikkelaars. Koppel beide stappen met &&.
Toon bij welke groepen de gebruiker dev1 allemaal hoort.
De groep ontwikkelaars is niet meer nodig. Verwijder deze groep van het systeem.
Voer de volgende stappen uit in een enkele regel, gekoppeld met &&. (1) Maak een groep testers aan. (2) Maak een gebruiker tester1 aan met home-directory. (3) Voeg tester1 toe aan de groep testers. (4) Toon de groepen van tester1.
In dit hoofdstuk heb je geleerd hoe gebruikers en groepen werken op een Linux-systeem:
Gebruikersinformatie opvragen:
whoami -- toon je gebruikersnaamid -- toon je UID, GID en groepengroups -- toon je groepslidmaatschappen/etc/passwd -- bevat gebruikersinformatie/etc/group -- bevat groepsinformatieVerhoogde rechten:
sudo commando -- voer een commando uit als rootsu gebruiker -- wissel naar een andere gebruikerGebruikers beheren:
sudo useradd -m naam -- maak een gebruiker aan met home-directorysudo userdel naam -- verwijder een gebruikersudo userdel -r naam -- verwijder een gebruiker inclusief home-directorysudo passwd naam -- stel een wachtwoord inGroepen beheren:
sudo groupadd naam -- maak een groep aansudo groupdel naam -- verwijder een groepsudo usermod -aG groep gebruiker -- voeg een gebruiker toe aan een groepOnthoud: gebruik altijd sudo bij het beheren van gebruikers en groepen, en vergeet de -a bij usermod -aG niet om te voorkomen dat bestaande groepslidmaatschappen verloren gaan.