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:
- 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.
- /etc/passwd – Gebruikersaccountinformatie.
- /etc/shadow – Beveiligde accountinformatie.
- /etc/group – Groepsaccountinformatie.
- /etc/gshadow – Beveiligde groepsaccountinformatie.
- /etc/login.defs – Configuratie van schaduwwachtwoordsuite..
De basissyntaxis van de opdracht is:
usermod [options] username
Vereisten
- We moeten bestaande gebruikersaccounts hebben om de usermod-opdracht uit te voeren.
- Alleen superuser (root) mag de opdracht usermod uitvoeren.
- Het usermod-commando kan op elke Linux-distributie worden uitgevoerd.
- 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.
- -c=We kunnen een commentaarveld voor het gebruikersaccount toevoegen.
- -d=Om de map voor een bestaand gebruikersaccount te wijzigen.
- -e=Met deze optie kunnen we het account binnen een bepaalde periode laten verlopen.
- -g=Wijzig de primaire groep voor een gebruiker.
- -G=Om aanvullende groepen toe te voegen.
- -a=Om iemand uit de groep toe te voegen aan een secundaire groep.
- -l=Om de inlognaam te wijzigen van tecmint in tecmint_admin.
- -L=Om het gebruikersaccount te vergrendelen. Hierdoor wordt het wachtwoord vergrendeld, zodat we het account niet kunnen gebruiken.
- -m=de inhoud van de thuismap verplaatsen van de bestaande thuismap naar de nieuwe map.
- -p=Om een niet-gecodeerd wachtwoord te gebruiken voor het nieuwe wachtwoord. (NIET beveiligd).
- -s=Maak een gespecificeerde shell voor nieuwe accounts.
- -u=Wordt gebruikt voor de toegewezen UID voor het gebruikersaccount tussen 0 en 999.
- -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.