Gebruikers en groepen

Op deze pagina:

Linux is een besturingssysteem voor meerdere gebruikers. Aan elk account op het systeem wordt een unieke gebruikersnaam toegewezen. Dit is de naam waarmee de gebruiker kan inloggen in het systeem.

Er zijn drie soorten gebruikers in een Linux systeem:

Superusers
verantwoordelijk voor het beheer van het systeem. Het root-account is de hoofdsupergebruiker en heeft UID 0.
Systeemgebruikers
gebruikersaccounts die door het systeem zelf worden gebruikt om processen of daemons uit te voeren. Elk van deze gebruikers heeft zijn eigen bestanden en bronnen. Idealiter loggen gebruikers niet in als systeemgebruiker. Het bereik van UID's is 1-999.
Gewone gebruikers
'menselijke' gebruikers met beperkte toegang tot bestanden en systemen. Deze gebrukers hebben sudo nodig om administratieve taken uit te voeren. De UID's beginnen bij 1000+.

Gebruiker toevoegen

Voor het toevoegen van een gebruiker zijn 2 opdrachten beschikbaar: useradd en adduser. De eerste: useradd is erg gebruiksonvriendelijk. De tweede: adduser is een perl script dat op de achtergrond useradd gebruikt, maar een stuk gebruiksvriendelijker is en daarom de voorkeur verdient.

Een ezelsbruggetje om te onthouden welke van de 2 je het beste kan gebruiken is om te onthouden dat je het beste degene gebruiken kan die het eerste in het alfabet staat, adduser dus.

Als je adduser gebruikt, worden je een aantal vragen gesteld, waarna de gebruiker is toegevoegd met de defaults die ingesteld worden volgens de gegevens in /etc/adduser.conf. Bij useradd moet je al die gegevens als commandline parameters meegeven.

Het aanroepen van adduser kan door als parameter de naam van de nieuwe gebruiker mee te geven.

Stel de nieuwe gebruiker is kees:


sudo adduser kees

Door het aanmaken van een nieuwe gebruiker worden de volgende bestanden in de /etc directory aangepast:

/etc/passwd
Bevat informatie over de gebruiker, zoals de gebruikersnaam, gebruikers-ID, groeps-ID, volledige naam (opmerking) en shell.
/etc/shadow
Bevat de informatie over het wachtwoord van de gebruiker en bevat het wachtwoord in versleutelde vorm.
/etc/group
Bevat informatie over de groep in deze vorm: GroupName:Link:GroupID:MemberList
/etc/gshadow
Bevat informatie over de groep in deze vorm: GroupName:Password:Reserved:MemberList

Gebruiker verwijderen

Een gebruiker verwijderen kan met deluser.


sudo deluser kees

Als je ook meteen de home directory van de gebruiker wilt verwijderen, dan kun je de --remove-home optie gebruiken:


sudo deluser --remove-home kees

Een gebruikersnaam wijzigen

Soms kom je een situatie tegen waarin je, om welke reden dan ook, een gebruikersnaam in een Linux-systeem wil hernoemen. In het Linux besturingssysteem zijn de gebruikersnaam en de gebruikers-ID ontkoppelt zodat je zonder de gebruikers-ID te beïnvloeden de gebruikersnaam kunt wijzigen. Alle machtigingen, bestanden, enz. zijn gekoppeld aan je identiteit (UID), niet aan je gebruikersnaam.

Het Linux-besturingssysteem identificeert een gebruiker aan de hand van een gebruikers-ID (UID). Deze UID is een nummer dat door Linux aan elke gebruiker op het systeem wordt toegewezen. De UID wordt samen met de groepsidentificatie (GID) en andere criteria voor toegangscontrole gebruikt om te bepalen tot welke systeembronnen een gebruiker toegang heeft. De details van een gebruiker zoals UID, gebruikersnaam, de volledige naam van de gebruiker, standaard shell, enz. worden opgeslagen in het bestand /etc/passwd. Bewerk dit bestand nooit met de hand, maar gebruik hiervoor altijd een opdracht die voor dit doel is ontworpen.

De opdracht usermod kun je gebruiken om een ​​gebruikersnaam te wijzigen. De opdracht usermod kan alleen worden gebruikt door de root gebruiker of door een gebruiker met sudo privileges. De root gebruiker kan elk account wijzigen dat toegang heeft tot het besturingssysteem.

Voordat je een gebruikersnaam gaat wijzigen, bijvoorbeeld van 'mevrouwjansen' naar 'jannie' moet je zorgen dat deze gebruiker niet meer is ingelogd. Je kunt ook alle processen van deze gebruiker stoppen met:


sudo pkill -9 -u mevrouwjansen

De gebruikersnaam wijzigen kan met de -l optie:


sudo usermod -l jannie mevrouwjansen

Deze opdracht verandert de gebruikersnaam mevrouwjansen in jannie, maar verandert de bestanden en UID van de gebruiker niet.

Om de inhoud van de huidige /home/mevrouwjansen directory te verplaatsen, samen met het wijzigen van de home-directory naar /home/jannie, moet de opdracht er als volgt uit zien:


sudo usermod -m -d /home/jannie jannie

In de bovenstaande opdracht stelt de -d optie de nieuwe home-directory in. De -m optie zorgt voor het verplaatsen van de inhoud van de oude home-directory naar de nieuwe home-directory. Als de nieuwe home-directory nog niet bestaat, dan wordt deze aangemaakt.

Elke gebruiker heeft ook een groep die overeenkomt met de gebruikersnaam. Als je de naam van een gebruiker wijzigt, dan is het een goed idee om ook de naam van de groep aan te passen.

Met de opdracht groupmod en de optie -n kun je de primaire groep van een gebruiker wijzigen. Elk bestand uit de home-directory van de gebruiker dat eigendom is van de vorige primaire groep van de gebruiker, wordt eigendom van deze nieuwe groep.


sudo groupmod -n jannie mevrouwjansen

gebruikersnaam aanpassen

Alle gebruikers opvragen

De gebruikers staan in het bestand /etc/passwd. Hierin staan zowel de menselijke gebruikers als de systeemgebruikers. Elk item in dit bestand kan maximaal zeven velden bevatten (gescheiden door het dubbele punt ":" teken) en elk veld bevat belangrijke informatie over die gebruiker.

Een overzicht van de velden in /etc/passwd:

Gebruikersnaam
dit is de naam van de gebruiker
Wachtwoord
dit veld bevat het versleutelde wachtwoord van de gebruiker, gemarkeerd met “x”. Het versleutelde wachtwoord wordt opgeslagen in het bestand /etc/shadow en is alleen toegankelijk voor de rootgebruiker.
Gebruikers-ID-nummer (UID)
dit veld bevat een uniek nummer voor elke gebruiker. Het getal 0 is gereserveerd voor de rootgebruiker
Groeps-ID-nummer (GID)
dit is het ID-nummer van de groep, dat is opgeslagen in het bestand /etc/group.
Gebruikersinfo
dit veld bevat alle aanvullende gebruikersinformatie zoals de echte naam van de gebruiker, telefoonnummers en andere informatie.
Persoonlijke map
dit veld bevat het pad naar de thuismap (home directory) van de gebruiker.
Login-shell
dit veld bevat het pad van de login-shell van de gebruiker, bijvoorbeeld /bin/bash.

Om alle gebruiikers op te vragen met ID en naam, gesorteerd op ID, kun je dit gebruiken:


awk -F: '{ print $3 "\t " $1}' /etc/passwd | sort -n

ID en groepen van een gebruiker opvragen

Je kunt de ID en de groepen van een gebruiker opvragen met de id opdracht:


id kees

# voorbeeld van een mogelijk resultaat:

UID=1000(kees) GID=1000(kees) groepen=1000(kees),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare),131(kvm),132(libvirt)

Groep toevoegen

Je kunt een groep toevoegen met de groupadd opdracht:


sudo groupadd nieuwegroep

Groep verwijderen

Je kunt een groep verwijderen met de groupdel opdracht:


sudo groupdel nieuwegroep

Hiermee worden ook de lidmaatschappen verwijderd van elke gebruiker die aan deze groep is gerelateerd.

Groepen van een gebruiker aanpassen

Een gebruiker krijgt als eerste groep (primary group) een groep met de naam van die gebruiker.

Met de opdracht usermod kun je de groepen van een gebruiker aanpassen. De optie -g vervangt de primaire groep van de grbruiker door een nieuwe groep.

Voorbeeld waarbij de gebruker kees als primaire groep gebruikers krijgt:


sudo usermod -g gebruikers kees

Elk bestand uit de home directory van de gebruiker (kees) dat eigendom is van de vorige primaire groep (kees) van de gebruiker, wordt eigendom van deze nieuwe groep (gebruikers). Het groepseigendom van bestanden buiten de home directory van de gebruiker (kees) moet handmatig worden aangepast.

De optie -G vervangt de lijst met secundaire groepen van een gebruiker door een nieuwe lijst met secundaire groepen. Als je de lijst met secundaire groepen alleen wil uitbreiden, dan moet je de opties -aG gebruiken.

Voorbeeld waarbij de gebruker kees als extra secundaire groep www-data krijgt:


sudo usermod -aG www-data kees

 

Verwante artikelen