Zoeken op website

Een complete gids voor het gebruik van de opdracht 'usermod' - 15 praktische voorbeelden met schermafbeeldingen


In Unix/Linux-distributies wordt het commando ‘usermod‘ gebruikt om attributen van een reeds aangemaakt gebruikersaccount via de opdrachtregel te wijzigen. Het commando ‘usermod‘ is vergelijkbaar met dat ‘useradd‘ of ‘adduser‘, maar de login wordt toegekend aan een bestaande gebruiker.

Het commando ‘useradd‘ of ‘adduser‘ wordt gebruikt voor het aanmaken van gebruikersaccounts in Linux-systemen. Voor meer informatie over het aanmaken van systeemgebruikers kunt u onze volledige handleiding lezen op:

  1. Een complete gids voor het commando "useradd" in Linux

Na het aanmaken van gebruikersaccounts moeten we in sommige scenario's de kenmerken van een bestaande gebruiker wijzigen, zoals het wijzigen van de thuismap van de gebruiker, de inlognaam, de login-shell, de vervaldatum van het wachtwoord, enz., waarbij in dat geval de opdracht 'usermod' wordt gebruikt.

Wanneer we de opdracht ‘usermod’ in de terminal uitvoeren, worden de volgende bestanden gebruikt en beïnvloed.

  1. /etc/passwd – Gebruikersaccountinformatie.
  2. /etc/shadow – Beveiligde accountinformatie.
  3. /etc/group – Groepsaccountinformatie.
  4. /etc/gshadow – Beveiligde groepsaccountinformatie.
  5. /etc/login.defs – Configuratie van schaduwwachtwoordsuite..

De basissyntaxis van de opdracht is:

usermod [options] username

Vereisten

  1. We moeten bestaande gebruikersaccounts hebben om de usermod-opdracht uit te voeren.
  2. Alleen superuser (root) mag de opdracht usermod uitvoeren.
  3. Het usermod-commando kan op elke Linux-distributie worden uitgevoerd.
  4. Moet basiskennis hebben van het usermod-commando met opties

Opties van Usermod

Het ‘usermod’ commando is eenvoudig te gebruiken met veel opties om wijzigingen aan te brengen aan een bestaande gebruiker. Laten we eens kijken hoe we de usermod-opdracht kunnen gebruiken door enkele bestaande gebruikers in de Linux-box te wijzigen met behulp van de volgende opties.

  1. -c=We kunnen een commentaarveld voor het gebruikersaccount toevoegen.
  2. -d=Om de map voor een bestaand gebruikersaccount te wijzigen.
  3. -e=Met deze optie kunnen we het account binnen een bepaalde periode laten verlopen.
  4. -g=Wijzig de primaire groep voor een gebruiker.
  5. -G=Om aanvullende groepen toe te voegen.
  6. -a=Om iemand uit de groep toe te voegen aan een secundaire groep.
  7. -l=Om de inlognaam te wijzigen van tecmint in tecmint_admin.
  8. -L=Om het gebruikersaccount te vergrendelen. Hierdoor wordt het wachtwoord vergrendeld, zodat we het account niet kunnen gebruiken.
  9. -m=de inhoud van de thuismap verplaatsen van de bestaande thuismap naar de nieuwe map.
  10. -p=Om een niet-gecodeerd wachtwoord te gebruiken voor het nieuwe wachtwoord. (NIET beveiligd).
  11. -s=Maak een gespecificeerde shell voor nieuwe accounts.
  12. -u=Wordt gebruikt voor de toegewezen UID voor het gebruikersaccount tussen 0 en 999.
  13. -U=Om de gebruikersaccounts te ontgrendelen. Hierdoor wordt de wachtwoordvergrendeling verwijderd en kunnen we het gebruikersaccount gebruiken.

In dit artikel zullen we ‘15 usermod-opdrachten‘ zien met hun praktische voorbeelden en gebruik in Linux, die je zullen helpen je commandoregelvaardigheden te leren en te verbeteren met behulp van deze opties.

1. Informatie toevoegen aan gebruikersaccount

De optie ‘-c’ wordt gebruikt om een korte opmerking (informatie) over het gebruikersaccount in te stellen. Laten we bijvoorbeeld informatie toevoegen over de ‘tecmint’-gebruiker, met behulp van de volgende opdracht.

usermod -c "This is Tecmint" tecmint

Nadat informatie over de gebruiker is toegevoegd, kan dezelfde opmerking worden bekeken in het bestand /etc/passwd.

grep -E --color 'tecmint' /etc/passwd

tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh

2. Wijzig de basismap van de gebruiker

In de bovenstaande stap kunnen we zien dat onze thuismap zich onder /home/tecmint/ bevindt. Als we deze naar een andere map moeten wijzigen, kunnen we deze wijzigen met -d optie met usermod-opdracht.

Ik wil bijvoorbeeld onze thuismap wijzigen in /var/www/, maar laten we, voordat we dit wijzigen, de huidige thuismap van een gebruiker controleren met behulp van de volgende opdracht.

grep -E --color '/home/tecmint' /etc/passwd

tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh

Wijzig nu de homedirectory van /home/tecmint in /var/www/ en bevestig de homedirectory na het wijzigen.

usermod -d /var/www/ tecmint
grep -E --color '/var/www/' /etc/passwd

tecmint:x:500:500:This is Tecmint:/var/www:/bin/sh

3. Stel de vervaldatum van de gebruikersaccount in

De optie ‘-e‘ wordt gebruikt om de vervaldatum in te stellen voor een gebruikersaccount met het datumformaat JJJJ-MM-DD. Voordat we een vervaldatum voor een gebruiker instellen, controleren we eerst de huidige vervaldatum van het account met behulp van de opdracht ‘chage’ (wijzig de vervaldatum van het wachtwoord van de gebruiker).

chage -l tecmint

Last password change					: Nov 02, 2014
Password expires					: never
Password inactive					: never
Account expires						: Dec 01, 2014
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

De vervalstatus van een 'tecmint'-gebruiker is 1 december 2014, laten we deze wijzigen naar 1 november 2014 met behulp van 'usermod -e ' optie en bevestig de vervaldatum met het 'chage' commando.

usermod -e 2014-11-01 tecmint
chage -l tecmint

Last password change					: Nov 02, 2014
Password expires					: never
Password inactive					: never
Account expires						: Nov 01, 2014
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

4. Wijzig de primaire gebruikersgroep

Om een primaire gebruikersgroep in te stellen of te wijzigen, gebruiken we de optie ‘-g‘ met het usermod-commando. Voordat u de primaire gebruikersgroep wijzigt, moet u eerst de huidige groep controleren op de gebruiker tecmint_test.

id tecmint_test

uid=501(tecmint_test) gid=502(tecmint_test) groups=502(tecmint_test)

Stel nu de babin groep in als primaire groep op gebruiker tecmint_test en bevestig de wijzigingen.

usermod -g babin tecmint_test
id tecmint_test

uid=501(tecmint_test) gid=502(babin) groups=502(tecmint_test)

5. Groep toevoegen aan een bestaande gebruiker

Als u een nieuwe groep met de naam 'tecmint_test0' wilt toevoegen aan de 'tecmint'-gebruiker, kunt u de optie '-G' gebruiken met het usermod-commando zoals hieronder weergegeven.

usermod -G tecmint_test0 tecmint
id tecmint

Opmerking: wees voorzichtig: als u een nieuwe groep aan een bestaande gebruiker toevoegt met alleen de optie '-G', worden alle bestaande groepen verwijderd die gebruiker behoort. Voeg dus altijd de ‘-a’ (toevoegen) met ‘-G’ optie toe om nieuwe groepen toe te voegen of toe te voegen.

6. Aanvullende en primaire groep toevoegen aan gebruiker

Als u een gebruiker aan een van de aanvullende groepen wilt toevoegen, kunt u de opties ‘-a’ en ‘-G‘ gebruiken. Hier gaan we bijvoorbeeld een gebruikersaccount tecmint_test0 toevoegen met de wiel-gebruiker.

usermod -a -G wheel tecmint_test0
id tecmint_test0

Gebruiker tecmint_test0 blijft dus in de primaire groep en ook in de secundaire groep (wiel). Hierdoor kan mijn normale gebruikersaccount alle root-bevoorrechte opdrachten in de Linux-box uitvoeren.

eg : sudo service httpd restart

7. Wijzig de aanmeldingsnaam van de gebruiker

Om een bestaande inlognaam van een gebruiker te wijzigen, kunnen we de optie ‘-l’ (nieuwe login) gebruiken. In het onderstaande voorbeeld wijzigen we de inlognaam tecmint in tecmint_admin. Daarom is de gebruikersnaam tecmint hernoemd naar de nieuwe naam tecmint_admin.

usermod -l tecmint_admin tecmint

Controleer nu of de gebruiker tecmint aanwezig is. Deze zal niet aanwezig zijn omdat we deze hebben gewijzigd in tecmint_admin.

id tecmint

Controleer of het tecmint_admin-account aanwezig is met dezelfde UID en met de bestaande groep die we eerder hebben toegevoegd.

id tecmint_admin

8. Gebruikersaccount vergrendelen

Om een systeemgebruikersaccount te vergrendelen, kunnen we de optie '-L' (vergrendelen) gebruiken. Nadat het account is vergrendeld, kunnen we niet meer inloggen met het wachtwoord en ziet u een ! toegevoegd vóór het gecodeerde wachtwoord in het /etc/shadow bestand, betekent dat het wachtwoord is uitgeschakeld.

usermod -L babin

Controleer of het vergrendelde account is.

grep -E --color 'babin' cat /etc/shadow

9. Ontgrendel gebruikersaccount

De ‘-U’ optie wordt gebruikt om elke vergrendelde gebruiker te ontgrendelen. Hierdoor wordt de ! vóór het gecodeerde wachtwoord verwijderd.

grep -E --color 'babin' /etc/shadow
usermod -U babin

Verifieer de gebruiker na ontgrendeling.

grep -E --color 'babin' /etc/shadow

10. Verplaats de basismap van de gebruiker naar een nieuwe locatie

Stel dat u een gebruikersaccount heeft als 'pinky' met de thuismap '/home/pinky', u wilt naar een nieuwe locatie verhuizen, bijvoorbeeld '/var /pinky'. U kunt de opties ‘-d‘ en ‘-m‘ gebruiken om de bestaande gebruikersbestanden van de huidige thuismap naar een nieuwe thuismap te verplaatsen.

Controleer het account en de huidige thuismap.

grep -E --color 'pinky' /etc/passwd

Maak vervolgens een lijst van de bestanden die eigendom zijn van gebruiker Pinky.

ls -l /home/pinky/

Nu moeten we de homedirectory verplaatsen van /home/pinky naar /var/pinky.

usermod -d /var/pinky/ -m pinky

Controleer vervolgens de mapwijziging.

grep -E --color 'pinky' /etc/passwd

Controleer de bestanden onder ‘/home/pinky‘. Hier hebben we de bestanden verplaatst met de -m optie, zodat er geen bestanden zijn. De pinky-gebruikersbestanden staan nu onder /var/pinky.

ls -l /home/pinky/
ls -l /var/pinky/

11. Maak een niet-gecodeerd wachtwoord voor de gebruiker

Om een niet-versleuteld wachtwoord aan te maken, gebruiken we de optie ‘-p’ (wachtwoord). Voor demonstratiedoeleinden stel ik een nieuw wachtwoord in, bijvoorbeeld 'redhat', voor een gebruiker pinky.

usermod -p redhat pinky

Nadat u het wachtwoord hebt ingesteld, controleert u nu het schaduwbestand om te zien of het een gecodeerd formaat heeft of niet.

grep -E --color 'pinky' /etc/shadow

Opmerking: Zoals u in de bovenstaande afbeelding zag, is het wachtwoord voor iedereen duidelijk zichtbaar. Het wordt dus niet aanbevolen om deze optie te gebruiken, omdat het wachtwoord voor alle gebruikers zichtbaar zal zijn.

12. Wijzig de gebruikersshell

De gebruikersinlogshell kan worden gewijzigd of gedefinieerd tijdens het aanmaken van een gebruiker met de opdracht useradd of gewijzigd met de opdracht 'usermod' met behulp van de optie '-s' ( schelp). De gebruiker 'babin' heeft bijvoorbeeld standaard de /bin/bash shell, nu wil ik deze wijzigen in /bin/sh .

grep -E --color 'babin' /etc/passwd
usermod -s /bin/sh babin

Nadat u de gebruikersshell hebt gewijzigd, verifieert u de gebruikersshell met behulp van de volgende opdracht.

grep -E --color 'babin' /etc/passwd

13. Gebruikers-ID (UID) wijzigen

In het onderstaande voorbeeld kunt u zien dat mijn gebruikersaccount 'babin' de UID van 502 bevat, nu wil ik dit wijzigen in 888 als mijn UID. We kunnen een UID toewijzen tussen 0 en 999.

grep -E --color 'babin' /etc/passwd
OR
id babin

Laten we nu de UID voor gebruiker babin wijzigen met de optie ‘-u‘ (uid) en de wijzigingen verifiëren.

usermod -u 888 babin
id babin

14. Gebruikersaccount wijzigen met meerdere opties

Hier hebben we een gebruiker jack en nu wil ik zijn thuismap, shell, vervaldatum, label, UID en groep in één keer wijzigen met behulp van één enkel commando met alle opties zoals we hierboven hebben besproken.

De gebruiker Jack heeft de standaard homedirectory /home/jack. Nu wil ik deze wijzigen in /var/www/html en zijn map toewijzen shell als bash, stel de vervaldatum in op 10 december 2014, voeg een nieuw label toe als Dit is jack, verander UID in 555 en hij wordt lid van de Apple-groep.

Laten we nu zien hoe we het Jack-account kunnen wijzigen met behulp van meerdere opties.

usermod -d /var/www/html/ -s /bin/bash -e 2014-12-10 -c "This is Jack" -u 555 -aG apple jack

Controleer vervolgens of de UID en de thuismap zijn gewijzigd.

grep -E --color 'jack' /etc/passwd

Controle op verlopen van account.

chage -l jack

Zoek naar de groep waarvan alle jacks lid zijn geweest.

grep -E --color 'jack' /etc/group

15. Wijzig UID en GID van een gebruiker

We kunnen de UID en GID van een huidige gebruiker wijzigen. Voor het wijzigen naar een nieuwe GID hebben we een bestaande groep nodig. Hier is al een account genaamd oranje met een GID van 777.

Nu wil mijn jack-gebruikersaccount worden toegewezen met een UID van 666 en een GID van Orange (777).

Controleer de huidige UID en GID voordat u wijzigingen aanbrengt.

id jack

Wijzig de UID en GID.

usermod -u 666 -g 777 jack

Controleer de wijzigingen.

id jack

Conclusie

Hier hebben we gezien hoe we de usermod-opdracht met zijn opties op een zeer gedetailleerde manier kunnen gebruiken. Voordat we iets weten over de usermod-opdracht, moet men de opdracht ‘usermod’ en de bijbehorende opties kennen om de usermod te gebruiken. Als ik een punt in het artikel heb gemist, laat het me dan weten via reacties en vergeet niet je waardevolle opmerkingen toe te voegen.