Als Linux-systeembeheerder krijg je de taak om ervoor te zorgen dat alle IT-operaties soepel verlopen in jouw organisatie. Aangezien sommige IT-operaties met elkaar verweven zijn, draagt een systeembeheerder meestal veel verschillende petten, waaronder die van database- of netwerkbeheerder.
Dit artikel is Deel 5 van de LFCA-serie, hier in dit deel maak je kennis met de algemene systeembeheercommando’s om gebruikers te maken en beheren in een Linux-systeem.
Gebruikersaccountbeheer in Linux
Een van de belangrijkste verantwoordelijkheden van een Linux-systeembeheerder is het maken en beheren van gebruikers in een Linux-systeem. Elk gebruikersaccount heeft 2 unieke identificatoren: de gebruikersnaam en de Gebruikers-ID (UID).
Essentieel zijn er 3 hoofdcategorieën van gebruikers in Linux:
Rootgebruiker
De root gebruiker is de krachtigste gebruiker in een Linux-systeem en wordt meestal aangemaakt tijdens het installatieproces. De rootgebruiker heeft absolute macht in het Linux-systeem of een ander UNIX-achtig besturingssysteem. De gebruiker kan alle commando’s, bestanden en mappen openen en het systeem naar hun voorkeur aanpassen.
De rootgebruiker kan het systeem bijwerken, pakketten installeren en verwijderen, andere gebruikers toevoegen of verwijderen, rechten verlenen of intrekken, en elke andere taak voor systeembeheer uitvoeren zonder beperkingen.
De rootgebruiker kan zo ongeveer alles doen op het systeem. De aanname bij Linux en UNIX-achtige systemen is dat u heel goed weet wat u doet met het systeem. Dat gezegd hebbende, kan de rootgebruiker het systeem gemakkelijk kapot maken. Het enige wat nodig is, is het uitvoeren van een fataal commando en het systeem zal in rook opgaan.
Om deze reden wordt het sterk afgeraden om opdrachten uit te voeren als de rootgebruiker. In plaats daarvan eist een goede praktijk dat u een sudo-gebruiker configureert. Dat wil zeggen, sudo-rechten toekennen aan een gewone gebruiker om bepaalde administratieve taken uit te voeren en sommige taken alleen aan de rootgebruiker voorbehouden.
Gewone Gebruiker
A regular user is a normal login user that can be created by a systems administrator. Usually, there is a provision to create one during the installation process. However, you can still create as many regular users as needed post-installation.
A regular user can only perform tasks and access files and directories for which they are authorized. If need be, a regular user can be granted elevated privileges to perform administrative-level tasks. Regular users can also be deleted or disabled when the need arises.
Service Account
Dit is een niet-inlogaccount dat wordt aangemaakt wanneer een softwarepakket wordt geïnstalleerd. Dergelijke accounts worden door services gebruikt om processen in het systeem uit te voeren. Ze zijn niet bedoeld om routinetaken of administratieve taken in het systeem uit te voeren.
Gebruikersbeheerbestanden
Informatie over gebruikers in een Linux-systeem wordt opgeslagen in de volgende bestanden:
- Het /etc/passwd-bestand
- Het bestand /etc/group
- Het bestand /etc/gshadow
- Het bestand /etc/shadow
Laten we elk bestand begrijpen en wat het doet:
Het /etc/passwd-bestand
Het /etc/passwd bestand bevat een behoorlijke hoeveelheid informatie over gebruikers die in verschillende velden is opgeslagen. Gebruik de cat-opdracht om de inhoud van het bestand te bekijken, zoals hieronder wordt weergegeven.
$ cat /etc/passwd
Hier is een gedeelte van de uitvoer.
tecmint:x:1002:1002:tecmint,,,:/home/tecmint:/bin/bash
Laten we ons richten op de eerste regel en de verschillende velden uitsplitsen. Te beginnen vanaf helemaal links hebben we het volgende:
- De gebruikersnaam: Dit is de naam van de gebruiker, in dit geval tecmint.
- Het wachtwoord: De tweede kolom vertegenwoordigt het versleutelde wachtwoord van de gebruiker. Het wachtwoord wordt niet in platte tekst afgedrukt, in plaats daarvan wordt een aanduiding met een x-teken gebruikt.
- De UID: Dit is de gebruikers-ID. Het is een unieke identificatie voor elke gebruiker.
- De GID: Dit is de Group ID.
- A brief description or summary of the user.
- Dit is het pad naar de home-directory van de gebruiker. Voor de gebruiker tecmint hebben we /home/tecmint.
- Dit is de inlogshell. Voor gewone inloggebruikers wordt dit meestal weergegeven als /bin/bash. Voor serviceaccounts zoals SSH of MySQL wordt dit meestal weergegeven als /bin/false.
Het /etc/group-bestand
Dit bestand bevat informatie over de gebruikersgroepen. Wanneer een gebruiker wordt aangemaakt, maakt de shell automatisch een groep aan die overeenkomt met de gebruikersnaam van de gebruiker. Dit staat bekend als de primaire groep. De gebruiker wordt bij het aanmaken aan de primaire groep toegevoegd.
Bijvoorbeeld, als je een gebruiker genaamd bob aanmaakt, maakt het systeem automatisch een groep genaamd bob aan en voegt de gebruiker bob toe aan de groep.
$ cat /etc/group tecmint:x:1002:
Het /etc/group-bestand heeft 3 kolommen. Van links naar rechts hebben we:
- Groepsnaam. Elke groepsnaam moet uniek zijn.
- Groeppaswoord. Gewoonlijk weergegeven door een x-plaatsaanduiding.
- Groeps-ID (GID)
- Groepsleden. Dit zijn leden die tot de groep behoren. Dit veld blijft leeg als de gebruiker het enige lid van de groep is.
LET OP: Een gebruiker kan lid zijn van meerdere groepen. Evenzo kan een groep meerdere leden hebben.
Om te bevestigen tot welke groepen een gebruiker behoort, voer het commando uit:
$ groups username
Als voorbeeld, om de groepen te controleren waar de gebruiker tecmint lid van is, voer het commando uit:
$ groups tecmint
De uitvoer bevestigt dat de gebruiker lid is van twee groepen: tecmint en sudo.
tecmint : tecmint sudo
Het /etc/gshadow-bestand
Dit bestand bevat versleutelde of ‘verborgen’ wachtwoorden voor groepsaccounts en kan om veiligheidsredenen niet worden geopend door gewone gebruikers. Het is alleen leesbaar door de rootgebruiker en gebruikers met sudo-bevoegdheden.
$ sudo cat /etc/gshadow tecmint:!::
Van links naar rechts bevat het bestand de volgende velden:
- Groepsnaam
- Geëncrypteerd Groepswachtwoord
- Groepsbeheerder
- Groepsleden
De /etc/shadow Bestand
Het /etc/shadow bestand slaat de werkelijke wachtwoorden van gebruikers op in een gehashte of geëncrypteerde indeling. Opnieuw zijn de velden gescheiden door een dubbele punt en hebben ze het getoonde formaat.
$ sudo cat /etc/shadow tecmint:$6$iavr8PAxxnWmfh6J$iJeiuHeo5drKWcXQ.BFGUrukn4JWW7j4cwjX7uhH1:18557:0:99999:7:::
Het bestand heeft 9 velden. Van ver links hebben we:
- De gebruikersnaam: Dit is uw inlognaam.
- Het wachtwoord van de gebruiker. Dit wordt gepresenteerd in een gehashte of geëncrypteerde indeling.
- De laatste wachtwoordwijziging. Dit is de datum sinds het wachtwoord is gewijzigd en wordt berekend sinds de epoch-datum. Epoch is 1 januari 1970.
- De minimale wachtwoordleeftijd. Dit is het minimale aantal dagen dat moet verstrijken voordat een wachtwoord kan worden ingesteld.
- De maximale wachtwoordleeftijd. Dit is het maximale aantal dagen waarna een wachtwoord moet worden gewijzigd.
- De waarschuwingsperiode. Zoals de naam al doet vermoeden, is dit het aantal dagen kort voor het verlopen van een wachtwoord waarop een gebruiker op de hoogte wordt gesteld van het aanstaande wachtwoordverval.
- De inactiviteitsperiode. Het aantal dagen nadat een wachtwoord is verlopen dat een gebruikersaccount wordt uitgeschakeld zonder dat de gebruiker het wachtwoord heeft gewijzigd.
- De vervaldatum. De datum waarop het gebruikersaccount is verlopen.
- Gereserveerd veld. – Dit blijft leeg.
Hoe gebruikers toevoegen in een Linux-systeem
Voor Debian en Ubuntu distributies wordt het hulpprogramma adduser gebruikt voor het toevoegen van gebruikers.
De syntaxis is vrij eenvoudig en duidelijk.
# adduser username
Bijvoorbeeld, om een gebruiker genaamd bob toe te voegen, voert u het commando uit
# adduser bob
Uit de uitvoer wordt een gebruiker genaamd ‘bob‘ aangemaakt en toegevoegd aan een nieuw aangemaakte groep genaamd ‘bob‘. Daarnaast maakt het systeem ook een thuismap aan en kopieert configuratiebestanden daarnaartoe.
Vervolgens wordt u gevraagd naar het wachtwoord van de nieuwe gebruiker en om dit te bevestigen. De shell zal u ook vragen om de volledige naam van de gebruiker en andere optionele informatie zoals kamernummer en werktelefoon. Deze informatie is niet echt noodzakelijk, dus het is veilig om dit over te slaan. Druk tot slot op ‘Y’
om te bevestigen dat de verstrekte informatie juist is.

Voor RHEL & CentOS-gebaseerde systemen, gebruikt u het useradd-commando.
# useradd bob
Vervolgens stelt u het wachtwoord voor de gebruiker in met behulp van het passwd-commando als volgt in.
# passwd bob

Hoe gebruikers verwijderen in een Linux-systeem
Om een gebruiker uit het systeem te verwijderen, is het raadzaam om de gebruiker eerst te vergrendelen voor het inloggen op het systeem zoals getoond.
# passwd -l bob
Indien gewenst, kunt u de bestanden van de gebruiker back-uppen met behulp van het tar-commando.
# tar -cvf /backups/bob-home-directory.tar.bz2 /home/bob

Tenslotte, om de gebruiker samen met de thuismap te verwijderen, gebruikt u het deluser commando als volgt:
# deluser --remove-home bob

Bovendien kunt u het userdel commando gebruiken zoals getoond.
# userdel -r bob
De twee commando’s verwijderen de gebruiker volledig samen met hun thuismappen.
Conclusie
Dat was een overzicht van gebruikersbeheercommando’s die vooral handig zullen zijn bij het beheren van gebruikersaccounts in uw kantooromgeving. Probeer ze af en toe uit om uw systeembeheervaardigheden te verbeteren.
Source:
https://www.tecmint.com/linux-user-account-management/