En komplett guide til bruk av usermod-kommando - 15 praktiske eksempler med skjermbilder


I Unix/Linux-distribusjoner brukes kommandoen «usermod» til å endre eller endre eventuelle attributter til en allerede opprettet brukerkonto via kommandolinjen. Kommandoen usermod ligner på useradd eller adduser, men påloggingen gitt til en eksisterende bruker.

Kommandoen 'useradd' eller 'adduser' brukes til å opprette brukerkontoer i Linux-systemer. For å vite mer om hvordan du oppretter systembrukere, les vår komplette veiledning på:

  1. En komplett guide til kommandoen \useradd i Linux

Etter å ha opprettet brukerkontoer, i noen scenarier der vi må endre attributtene til en eksisterende bruker, for eksempel endre brukerens hjemmekatalog, påloggingsnavn, påloggingsskall, passordets utløpsdato osv., der i et slikt tilfelle 'usermod'-kommandoen brukes.

Når vi utfører 'usermod'-kommandoen i terminalen, blir følgende filer brukt og påvirket.

  1. /etc/passwd – Brukerkontoinformasjon.
  2. /etc/shadow – Sikker kontoinformasjon.
  3. /etc/group – Gruppekontoinformasjon.
  4. /etc/gshadow – Sikker gruppekontoinformasjon.
  5. /etc/login.defs – Konfigurasjon av skyggepassordpakke..

Grunnleggende syntaks for kommandoen er:

usermod [options] username

  1. Vi må ha eksisterende brukerkontoer for å utføre usermod-kommandoen.
  2. Kun superbruker (root) har lov til å utføre usermod-kommando.
  3. Usermod-kommandoen kan utføres på hvilken som helst Linux-distribusjon.
  4. Må ha grunnleggende kunnskap om usermod-kommando med alternativer

Kommandoen 'usermod' er enkel å bruke med mange alternativer for å gjøre endringer i en eksisterende bruker. La oss se hvordan du bruker usermod-kommandoen ved å endre noen eksisterende brukere i Linux-boksen ved hjelp av følgende alternativer.

  1. -c = Vi kan legge til kommentarfelt for brukerkontoen.
  2. -d = For å endre katalogen for en eksisterende brukerkonto.
  3. -e = Ved å bruke dette alternativet kan vi få kontoen til å utløpe i en bestemt periode.
  4. -g = Endre primærgruppen for en bruker.
  5. -G = For å legge til en tilleggsgruppe.
  6. -a = For å legge til hvem som helst i gruppen til en sekundær gruppe.
  7. -l = For å endre påloggingsnavnet fra tecmint til tecmint_admin.
  8. -L = For å låse brukerkontoen. Dette låser passordet slik at vi ikke kan bruke kontoen.
  9. -m = flytting av innholdet i hjemmekatalogen fra eksisterende hjemmekatalog til ny katalog.
  10. -p = For å bruke ukryptert passord for det nye passordet. (IKKE sikret).
  11. -s = Opprett et spesifisert skall for nye kontoer.
  12. -u = Brukes til å tilordne UID for brukerkontoen mellom 0 og 999.
  13. -U = For å låse opp brukerkontoene. Dette vil fjerne passordlåsen og tillate oss å bruke brukerkontoen.

I denne artikkelen vil vi se '15 usermod-kommandoer' med deres praktiske eksempler og bruk i Linux, som vil hjelpe deg å lære og forbedre kommandolinjeferdighetene dine ved å bruke disse alternativene.

1. Legge til informasjon til brukerkontoen

Alternativet «-c» brukes til å angi en kort kommentar (informasjon) om brukerkontoen. La oss for eksempel legge til informasjon om 'tecmint'-bruker ved å bruke følgende kommando.

# usermod -c "This is Tecmint" tecmint

Etter å ha lagt til informasjon om brukeren, kan den samme kommentaren sees i filen /etc/passwd.

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

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

2. Endre brukerhjemmekatalog

I trinnet ovenfor kan vi se at hjemmekatalogen vår er under /home/tecmint/. Hvis vi trenger å endre den til en annen katalog, kan vi endre den ved å bruke -d alternativ med usermod kommando.

For eksempel vil jeg endre hjemmekatalogen vår til /var/www/, men før du endrer, la oss sjekke gjeldende hjemmekatalog til en bruker ved å bruke følgende kommando.

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

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

Endre nå hjemmekatalog fra /home/tecmint til /var/www/ og bekreft hjemmedirektøren etter endring.

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

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

3. Angi utløpsdato for brukerkonto

Alternativet -e brukes til å angi utløpsdato på en brukerkonto med datoformatet ÅÅÅÅ-MM-DD. Før du setter opp en utløpsdato for en bruker, la oss først sjekke gjeldende kontoutløpsstatus ved å bruke kommandoen chage (endre utløpsinformasjon for brukerpassord).

# 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

Utløpsstatusen til en tecmint-bruker er 1. desember 2014, la oss endre den til 1. november 2014 ved å bruke usermod -e-alternativet og bekrefte utløpsdatoen med chage ' kommando.

# 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. Endre brukerens primærgruppe

For å angi eller endre en primær brukergruppe bruker vi alternativet -g med kommandoen usermod. Før du endrer brukerens primærgruppe, sørg for å sjekke gjeldende gruppe for brukeren tecmint_test.

# id tecmint_test

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

Sett nå babin-gruppen som en primær gruppe til brukeren tecmint_test og bekreft endringene.

# usermod -g babin tecmint_test
# id tecmint_test

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

5. Legge til gruppe til en eksisterende bruker

Hvis du vil legge til en ny gruppe kalt 'tecmint_test0' til 'tecmint'-bruker, kan du bruke alternativet '-G' med usermod-kommandoen som vist nedenfor.

# usermod -G tecmint_test0 tecmint
# id tecmint

Merk: Vær forsiktig, mens du legger til en ny gruppe til en eksisterende bruker med -G-alternativet alene, vil fjerne alle eksisterende grupper som brukeren tilhører. Så legg alltid til '-a' (legg til) med '-G'-alternativet for å legge til eller legge til nye grupper.

6. Legge til tilleggs- og primærgruppe til bruker

Hvis du trenger å legge til en bruker i en av tilleggsgruppene, kan du bruke alternativene '-a' og '-G'. For eksempel, her skal vi legge til en brukerkonto tecmint_test0 med hjul-brukeren.

# usermod -a -G wheel tecmint_test0
# id tecmint_test0

Så bruker tecmint_test0 forblir i primærgruppen og også i sekundærgruppen (hjul). Dette vil få min vanlige brukerkonto til å utføre alle root-privilegerte kommandoer i Linux-boksen.

eg : sudo service httpd restart

7. Endre brukerpåloggingsnavn

For å endre eksisterende brukernavn, kan vi bruke alternativet -l (ny pålogging). I eksemplet nedenfor endrer vi påloggingsnavnet tecmint til tecmint_admin. Så brukernavnet tecmint har blitt omdøpt med det nye navnet tecmint_admin.

# usermod -l tecmint_admin tecmint

Se nå etter tecmint-brukeren, den vil ikke være til stede fordi vi har endret den til tecmint_admin.

# id tecmint

Se etter tecmint_admin-kontoen, den vil være der med samme UID og med eksisterende gruppe det vi har lagt til før.

# id tecmint_admin

8. Lås brukerkonto

For å låse en systembrukerkonto kan vi bruke alternativet -L (lås). Etter at kontoen er låst kan vi ikke logge inn ved å bruke passordet, og du vil se en ! lagt til før den krypterte passord i /etc/shadow-fil, betyr passord deaktivert.

# usermod -L babin

Se etter den låste kontoen.

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

9. Lås opp brukerkonto

-U-alternativet brukes til å låse opp enhver låst bruker, dette vil fjerne ! før det krypterte passordet.

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

Bekreft brukeren etter opplåsing.

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

10. Flytt brukerhjemmekatalog til ny plassering

La oss si at du har en brukerkonto som 'pinky' med hjemmekatalog '/home/pinky', du vil flytte til en ny plassering si '/var/pinky'. Du kan bruke alternativene -d og -m for å flytte de eksisterende brukerfilene fra gjeldende hjemmekatalog til en ny hjemmekatalog.

Se etter kontoen og dens gjeldende hjemmekatalog.

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

List deretter filene som eies av brukeren pinky.

# ls -l /home/pinky/

Nå må vi flytte hjemmekatalogen fra /home/pinky til /var/pinky.

# usermod -d /var/pinky/ -m pinky

Deretter bekrefter du katalogendringen.

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

Se etter filene under '/home/pinky'. Her har vi flyttet filene ved å bruke -m alternativet slik at det ikke blir noen filer. Pinky-brukerfilene vil nå være under /var/pinky.

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

11. Opprett ukryptert passord for brukeren

For å lage et ukryptert passord bruker vi alternativet '-p' (passord). For demonstrasjonsformål setter jeg et nytt passord og sier redhat på en brukerpinky.

# usermod -p redhat pinky

Etter å ha angitt passord, sjekk nå skyggefilen for å se om den er i kryptert format eller ukryptert.

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

Merk: Så du i bildet ovenfor, er passordet godt synlig for alle. Så dette alternativet anbefales ikke å bruke, fordi passordet vil være synlig for alle brukere.

12. Endre brukerskall

Brukerpåloggingsskallet kan endres eller defineres under brukeroppretting med useradd-kommandoen eller endres med 'usermod'-kommandoen ved å bruke alternativet '-s' (shell). For eksempel har brukeren 'babin' /bin/bash-skallet som standard, nå vil jeg endre det til /bin/sh.

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

Etter å ha endret brukerskall, verifiser brukerskallet ved å bruke følgende kommando.

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

13. Endre bruker-ID (UID)

I eksemplet nedenfor kan du se at brukerkontoen min 'babin' har UID på 502, nå vil jeg endre den til 888 som min UID. Vi kan tildele UID mellom 0 og 999.

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

La oss nå endre UID for bruker babin ved å bruke -u (uid) alternativet og bekrefte endringene.

# usermod -u 888 babin
# id babin

14. Endre brukerkonto med flere alternativer

Her har vi en bruker jack og nå vil jeg endre hjemmekatalogen hans, skallet, utløpsdatoen, etiketten, UID og gruppen på en gang ved å bruke en enkelt kommando med alle alternativer som vi diskuterte ovenfor.

Brukeren Jack har standard hjemmekatalog /home/jack, nå vil jeg endre den til /var/www/html og tilordne hans shell som bash, sett utløpsdatoen til 10. desember 2014, legg til ny etikett som This is jack, endre UID til 555 og han vil være medlem av Apple-gruppen.

La oss se hvordan du endrer jack-kontoen ved å bruke flere alternativer nå.

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

Se deretter etter UID og hjemmekatalogendringer.

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

Utløpssjekk for kontoen.

# chage -l jack

Se etter gruppen som alle knekt har vært medlem av.

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

15. Endre UID og GID for en bruker

Vi kan endre UID og GID for en nåværende bruker. For å endre til en ny GID trenger vi en eksisterende gruppe. Allerede her er det en konto kalt oransje med GID på 777.

Nå ønsker jack-brukerkontoen min å bli tildelt UID på 666 og GID på Orange (777).

Se etter gjeldende UID og GID før du endrer.

# id jack

Endre UID og GID.

# usermod -u 666 -g 777 jack

Se etter endringene.

# id jack

Konklusjon

Her har vi sett hvordan man bruker usermod-kommandoen med dens alternativer på en veldig detaljert måte, før man vet om usermod-kommandoen, bør man kjenne ‘useradd’-kommandoen og dens alternativer for å bruke usermod. Hvis jeg har gått glipp av noe punkt i artikkelen, gi meg beskjed via kommentarer og ikke glem å legge til verdifulle kommentarer.