usermod
is een opdrachtregelhulpprogramma waarmee u de aanmeldingsgegevens van een gebruiker kunt wijzigen.
Dit artikel behandelt hoe u het usermod
-commando kunt gebruiken om een gebruiker aan een groep toe te voegen, een gebruikersshell, aanmeldingsnaam, homedirectory en meer te wijzigen.
usermod Command #
De syntax van het usermod
commando heeft de volgende vorm:
usermod USER
Alleen root of gebruikers met sudo
toegang kunnen usermod
aanroepen en een gebruikersaccount wijzigen.
Een gebruiker aan een groep toevoegen #
Het meest gebruikelijke gebruik van usermod
is het toevoegen van een gebruiker aan een groep.
Om een bestaande gebruiker aan een secundaire groep toe te voegen, gebruikt u de -a -G
opties gevolgd door de naam van de groep en de gebruikersnaam:
usermod -a -G GROUP USER
Als u de gebruiker aan meerdere groepen tegelijk wilt toevoegen, specificeert u de groepen na de -G
optie, gescheiden door ,
(komma’s) zonder tussenliggende spaties.
Om bijvoorbeeld de gebruiker linuxize
aan de groep games
toe te voegen, voert u het volgende commando uit:
sudo usermod -a -G games linuxize
Gebruik altijd de optie -a
(append) wanneer u een gebruiker aan een nieuwe groep toevoegt. Als u de optie -a
weglaat, wordt de gebruiker verwijderd uit de groepen die niet in de lijst staan na de optie -G
.
Als de gebruiker of groep niet bestaat, waarschuwt het commando u.
Wijzig gebruiker primaire groep #
Om de primaire groep van een gebruiker te wijzigen, roept u het usermod
commando op met de -g
optie gevolgd door de naam van de groep en de gebruikersnaam:
sudo usermod -g GROUP USER
In het volgende voorbeeld wijzigen we de primaire groep van de gebruiker linuxize
in developers
:
usermod -g developers linuxize
Elke gebruiker kan tot precies één primaire groep behoren en tot nul of meer secundaire groepen.
De gebruikersinformatie veranderen #
Om de GECOS (de volledige naam van de gebruiker) informatie te veranderen, voert u het commando uit met de -c
optie gevolgd door het nieuwe commentaar en de gebruikersnaam:
usermod -c "GECOS Comment" USER
Hier volgt een voorbeeld van hoe u extra informatie kunt toevoegen aan de gebruiker linuxize:
usermod -c "Test User" linuxize
Deze informatie wordt opgeslagen in het /etc/passwd
bestand.
Een gebruikers home directory wijzigen #
Op de meeste Linux systemen zijn de gebruikers home directories genoemd naar de naam van de gebruiker en aangemaakt onder de /home
directory.
Wilt u om een of andere reden de home directory van een gebruiker wijzigen, gebruik dan het usermod
commando met de -d
optie gevolgd door het absolute pad van de nieuwe home directory en de naam van de gebruiker:
usermod -d HOME_DIR USER
Het commando verplaatst standaard niet de inhoud van de home directory van de gebruiker naar de nieuwe directory. Om de inhoud te verplaatsen, gebruikt u de optie -m
. Als de nieuwe directory nog niet bestaat, wordt hij aangemaakt:
usermod -d HOME_DIR -m USER
Hier ziet u een voorbeeld van hoe u de home directory van de gebruiker www-data
kunt wijzigen in /var/www
:
usermod -d /var/www www-data
De standaard shell van een gebruiker wijzigen #
De standaard shell is de shell die wordt gestart nadat u inlogt op het systeem. Standaard, op de meeste Linux systemen, is de standaard shell ingesteld op Bash Shell.
Om de standaard shell van de gebruiker te veranderen, voert u het commando uit met de -s
optie gevolgd door het absolute pad van de shell en de naam van de gebruiker:
usermod -s SHELL USER
In het voorbeeld hieronder, veranderen we de shell van de gebruiker in Zsh:
sudo usermod -s /usr/bin/zsh linuxize
U kunt te weten komen welke shells beschikbaar zijn op uw systeem door de inhoud van het /etc/shells
bestand weer te geven.
Een UID van een gebruiker wijzigen #
UID (de gebruikers-identificatie) is een nummer dat aan iedere gebruiker wordt toegekend. Het wordt door het besturingssysteem gebruikt om naar een gebruiker te verwijzen.
Om de UID van een gebruiker te wijzigen, roept u het commando op met de -u
optie gevolgd door de nieuwe UID en de naam van de gebruiker:
usermod -u UID USER
Het onderstaande voorbeeld laat zien hoe het “UID” nummer wordt gewijzigd in “1050”:
sudo usermod -u 1050 linuxize
De UID van de bestanden die eigendom zijn van de gebruiker en zich in de home directory van de gebruiker bevinden, en het postbus bestand van de gebruiker zullen automatisch worden gewijzigd. Het eigendom van alle andere bestanden moet handmatig worden gewijzigd.
Een gebruikersnaam wijzigen #
Hoewel het niet vaak voorkomt, kan het soms voorkomen dat u de naam van een bestaande gebruiker wilt wijzigen. De -l
optie wordt gebruikt om de gebruikersnaam te veranderen:
usermod -l NEW_USER USER
In het onderstaande voorbeeld veranderen we de naam van de gebruiker linuxize
in lisa
in “1050”:
sudo usermod -l linuxize lisa
Wanneer u de gebruikersnaam verandert, wilt u misschien ook de home directory van de gebruiker aanpassen aan de nieuwe gebruikersnaam.
Een gebruikers vervaldatum instellen #
De vervaldatum is de datum waarop de gebruikersaccount zal worden uitgeschakeld. Om de vervaldatum van de gebruiker in te stellen, gebruikt u de -e
optie:
sudo usermod -e DATE USER
De vervaldatum moet worden ingesteld met behulp van het formaat YYYY-MM-DD
.
Om bijvoorbeeld de gebruiker linuxize
op 2022-02-21
uit te schakelen, voert u het volgende commando uit:
sudo usermod -e "2022-02-21" linuxize
Om de vervaldatum van een account uit te schakelen, stelt u een lege vervaldatum in:
sudo usermod -e "" linuxize
Gebruik het chage -l
commando om de vervaldatum van de gebruiker te bekijken:
sudo chage -l linuxize
Last password change: Jul 24, 2018Password expires: neverPassword inactive: neverAccount expires: neverMinimum number of days between password change: 0Maximum number of days between password change: 99999Number of days of warning before password expires: 7
De vervaldatum is opgeslagen in het /etc/shadow
bestand.
Vergrendelen en ontgrendelen van een gebruikersaccount #
Met de -L
optie kunt u een gebruikersaccount vergrendelen:
usermod -L USER
De commando’s voegen een uitroepteken (!
) in voor het gecodeerde wachtwoord. Wanneer het wachtwoordveld in het /etc/shadow
-bestand een uitroepteken bevat, kan de gebruiker zich niet aanmelden bij het systeem met wachtwoordauthenticatie. Andere inlogmethodes, zoals sleutel-gebaseerde authenticatie of het overschakelen naar de gebruiker zijn nog steeds toegestaan. Als u het account wilt vergrendelen en alle aanmeldingsmethoden wilt uitschakelen, moet u ook de vervaldatum op 1 zetten.
De volgende voorbeelden laten zien hoe u de gebruiker linuxize
kunt vergrendelen:
sudo usermod -L linuxize
sudo usermod -L -e 1 linuxize
Om een gebruiker te ontgrendelen, voert u usermod
uit met de -U
optie:
usermod -U USER
Conclusie #
We hebben u laten zien hoe u het usermod
commando kunt gebruiken om gebruikersaccount informatie in te stellen.