En detaljerad guide om användningen av kommandot usermod i Linux-systemen med olika exempel
De usermod
kommando är det mest robusta kommandot av alla modifieringsverktyg för användarkonton som tillhandahålls av Linux-system. Det ger ett utrymme för användaren att göra eventuella ändringar av befintliga användarkonton.
Usermod hjälper till att ändra egenskaperna för befintliga användare på ett Linux-system. Dessa egenskaper kan innehålla parametrar som lösenord, inloggningsnamn, inloggningskatalog, utgångsdatum, ändra användar-ID och många fler.
Att hantera alla användarkontodetaljer från kommandoraden är en ganska enkel uppgift, men inte alla känner till kommandona för att göra det. Vi går igenom alla möjliga scenarier med usermod
i Linux-miljön.
Notera: Att verkställa usermod
kommando du måste vara en root-användare eller så måste du ha sudo
tillgång.
Filer med användarinformation
Som du ska använda usermod
kommandot är det mycket viktigt för dig att känna till de filer som du kan behöva arbeta med. Dessa filer innehåller all information relaterad till användarkonton som finns på systemet.
Fil | Beskrivning |
---|---|
/etc/passwd | Innehåller flera delar av information om användaren |
/etc/group | Innehåller information om varje grupp som används i systemet |
/etc/gshadow | Innehåller säker gruppkontoinformation |
/etc/login.defs | Definierar den platsspecifika konfigurationen för skugglösenordssviten. |
/etc/shadow | Innehåller det krypterade lösenordet samt annan information som konto- eller lösenordsutgångsvärden |
Grundläggande syntax för Usermod Command
Syntaxen att använda usermod
kommandot är ganska grundläggande till sin natur. Det viktiga är att veta med vilka alternativ detta kommando ska utföras.
Syntax:
usermod [alternativ] användarnamn
Alternativ:
alternativ | Användande |
---|---|
-l | Ändra namnet på användaren |
-d | Ändra hemkatalogen för det befintliga användarkontot |
-L | Lås användarkontot genom att inaktivera lösenordet |
-U | Lås upp lösenordslåset |
-m | Flytta innehållet från användarens befintliga hemkatalog till valfri ny katalogplats |
-u | Ändra användar-ID för den befintliga användaren |
-g | Ändra gruppen för användaren |
-G | En lista över tilläggsgrupper som användaren också är medlem i. |
-s | Skapa skal för nya konton |
-e | Ändrar utgångsdatumet för användarkontot |
Tillämpningar av Usermod-kommandot
Som anges i tabellen ovan, usermod
kommandot används med olika alternativ för att manipulera attributen relaterade till användarkontoinformationen.
Följ exemplen nedan för att använda usermod
kommando för dina uppgifter som involverar användarkonto och manipulering av dess attribut.
Ändra användarnamn
Användarens namn är ett personligt val och kan ändras närhelst en användare känner för att göra det. Du kan ändra användarinloggningsnamnet för de befintliga användarna i Linux-systemen via kommandoraden samt GUI från Inställningar. Du kan följa nedanstående kommandon för att göra det via kommandoraden med hjälp av usermod
kommando.
Syntax:
usermod -l [nytt användarnamn] [befintligt användarnamn]
Exempel:
sudo usermod -l batman tillfällig
Produktion:
Du kan bekräfta användarnamnsändringen genom att köra id [användare]
kommando kommando.
gaurav@ubuntu:~$ id batman uid=1002(batman) gid=1002(temporary) groups=1002(temporary) gaurav@ubuntu:~$ id temporary id: ‘temporary’: ingen sådan användare gaurav@ubuntu:~$
I ovanstående utdata är det tydligt att användarnamnet "temporary" ändras till det nya användarnamnet "batman".
Ändra den primära gruppen för en befintlig användare
I Linux-ekosystemet kallas samlingen av datorsystemanvändare en "grupp". Huvudsyftet med att ha "Grupper" är att definiera vissa privilegier (läsa, skriva, köra) med avseende på de delade resurserna inom användarna av gruppen. Vanligtvis har den primära gruppen för en användare samma namn som användarnamnet.
Med usermod
, kan du ändra den primära gruppen för en användare och lägga till användaren i en annan grupp.
Du kan kontrollera grupperna på ditt system med hjälp av grupper
kommando.
gaurav@ubuntu:~$ grupper gaurav adm cdrom sudo dip plugdev lpadmin sambashare gaurav@ubuntu:~$
För att ändra den primära gruppen för en användare behöver du gruppnamnet för den primära gruppen som användaren för närvarande är tillagd till. Använd id [användarnamn]
kommandot för att hämta gruppnamnet och grupp-id för användarens nuvarande primära grupp.
gaurav@ubuntu:~$ id batman uid=1000(batman) gid=1000(batman) groups=1000(batman),128(sambashare),4(adm),24(cdrom),27(sudo) gaurav@ubuntu: ~$
Här är den primära gruppen 'Läderlappen’. Använd nu usermod
kommando för att ändra användarens primära grupp. Jag ändrar användarens primära grupp till "sambashare". Kontrollera följande kommando.
Syntax:
sudo usermod -g [gruppnamn] [användarnamn]
Exempel:
sudo usermod -g sambashare batman
Produktion:
gaurav@ubuntu:~$ sudo usermod -g sambashare batman gaurav@ubuntu:~$ id batman uid=1000(batman) gid=128(sambashare) groups=128(sambashare),1000(batman),4(adm),24 (cdrom),27(sudo) gaurav@ubuntu:~$
Genom att använda ovanstående operation ändras nu den primära gruppen för användarens batman till 'sambashare'.
Lägga till ny grupp till en befintlig användare
Användarkontot kan tillhöra mer än en grupp i Linux-systemet. Varje användare har en primär grupp. Och Linux tillåter också att lägga till sekundära grupper för användare.
Synatx:
sudo usermod -G [ny grupp] [användarnamn]
Exempel:
sudo usermod -G dip batman
Produktion:
gaurav@ubuntu:~$ sudo usermod -G dip batman gaurav@ubuntu:~$ id batman uid=1000(batman) gid=128(sambashare) groups=128(sambashare), 30(dip) gaurav@ubuntu:~$
Här läggs en ny grupp med namnet 'dip' till användaren 'batman'.
Notera: För att lägga till den nya gruppen som en "sekundär grupp" bör du använda -a
parameter.
-a
betyder att bifoga
. Använder sig av -a
innan -G
kommer att lägga till gruppen som en 'Sekundär grupp' utan att ändra användarens 'Primärgrupp'.
Använd följande kommando för att behålla den primära gruppen för användaren oförändrad.
sudo usermod -a -G [grupp att lägga till] [Användare]
Ändra användarens hemkatalog
När du loggar in på ditt system startar din session i din hemkatalog som är unik för ditt användarkonto. Systemet tilldelar denna unika katalog när användarkontot skapas. Linux erbjuder dig ett alternativ att ändra din "Hemkatalog". För det mesta är namnet på "Hemkatalogen" detsamma som användarnamnet och placeras under /Hem
katalog.
Använd följande kommando för att ändra "Hemkatalog" för användaren.
Syntax:
sudo usermod -d [ny_katalog_sökväg] [användarnamn]
För att verifiera om hemkatalogen har ändrats, använd grep
kommando. Jag har visat information om användaren "batman" från /etc/passwd
fil.
gaurav@ubuntu:~$ sudo usermod -d /var/hpq/ batman gaurav@ubuntu:~$ grep 'var/hpq/' /etc/passwd batman:x:1001:4::/var/hpq/:/bin /falskt gaurav@ubuntu:~$
Notera: För att flytta innehållet från den gamla hemkatalogen till den nya katalogen måste du använda -m
. Använd syntaxen som visas nedan.
sudo usermod -m -d [ny_katalog_sökväg] [användarnamn]
Ändra Uid (User Identifier) för en användare
Uid (User Identifier) är det unika numeriska värdet som tilldelas varje användare av Linux. Systemet identifierar användaren med en unik uid
tilldelas den. UID noll tilldelas rotanvändaren.
Du kan ändra UID för en användare med kommandot nedan.
Syntax:
sudo usermod -u [new_UID] användare
Exempel:
Kontrollera den aktuella uid för användaren batman med hjälp av id [användare]
kommando.
gaurav@ubuntu:~$ id batman uid=1000(batman) gid=4(adm) groups=4(adm),30(dip)
Uid för batman är nu 1000. Låt oss ändra det till 536 med hjälp av usermod
-u
kommando.
gaurav@ubuntu:~$ sudo usermod -u 536 batman [sudo] lösenord för gaurav: gaurav@ubuntu:~$
Låt oss nu igen kontrollera användarens batmans uid med hjälp av id [användare]
kommando
gaurav@ubuntu:~$ id batman uid=536(batman) gid=4(adm) groups=4(adm),30(dip) gaurav@ubuntu:~$
Här kan vi se att uid för användaren batman ändras från 1000 till 536 med hjälp av usermod -u
kommando.
Lägga till personliga kommentarer med användarkontot
Låt oss ta ett exempel på användaren "batman". Den här användaren arbetar på ett stort kontor och han har nyligen ändrat sitt jobbtelefonnummer och skrivbordsnummer. Så han kan lägga till dessa modifierade detaljer till sitt användarkonto genom att använda usermod -c
kommando.
Syntax:
sudo usermod -c "Din kommentar" Användare
Produktion:
gaurav@ubuntu:~$ sudo usermod -c "Tony Stark, 405, 95985475" batman gaurav@ubuntu:~$ sudo grep 'batman' /etc/passwd batman:x:536:4:Tony Stark, 405, 95985475:/ var/hpq/:/bin/false gaurav@ubuntu:~$
Ändringarna kommer att återspeglas i /etc/passwd
fil.
Låsa/inaktivera användarna
Om du vill begränsa åtkomsten till systemet för en viss användare kan du göra det genom att låsa lösenordet för just den användaren. Så även om användaren försöker logga in med lösenordet kommer han inte att få tillgång till systemet. !
symbolen kommer att läggas till framför det krypterade lösenordet för användaren i /etc/shadow
fil, vilket betyder att lösenordet är inaktiverat.
Syntax:
sudo usermod -L [användare]
Produktion:
gaurav@ubuntu:~$ sudo usermod -L batman gaurav@ubuntu:~$ sudo grep batman /etc/shadow batman:!:17612:0:99999:7::: gaurav@ubuntu:~$
Låsa upp/aktivera användarna
Du kan enkelt låsa upp/aktivera lösenordet för en användare som tidigare var inaktiverad. Du kan kontrollera /etc/shadow
fil för ändringen. !
symbolen kommer att tas bort från användarens krypterade lösenord.
Syntax:
sudo usermod -U [användare]
gaurav@ubuntu:~$ sudo usermod -U batman gaurav@ubuntu:~$ sudo grep batman /etc/shadow batman:t:18511:0:99999:7::: gaurav@ubuntu:~$
Ändra användarskalet
GNU/Linux-skalet är ett speciellt interaktivt verktyg. Det ger ett sätt för användare att starta program, hantera filer på filsystemet och hantera processer som körs på Linux-systemet. Skalet innehåller en uppsättning interna kommandon som du använder för att kontrollera saker som att kopiera filer, flytta filer, byta namn på filer, visa de program som för närvarande körs på systemet och stoppa program som körs på systemet.
Du kan ändra användaren av skalet med usermod -s
kommando. Använd nedanstående syntax.
Syntax:
sudo usermod -s /bin/sh [användare]
gaurav@ubuntu:~$ sudo usermod -s /bin/sh batman [sudo] lösenord för gaurav: gaurav@ubuntu:~$ grep batman /etc/passwd batman:x:536:4:Detta är mitt demokonto:/var /www/:/bin/sh
Du kan verifiera ändringen med grep
kommando som visas i utgången ovan.
Ställ in användarens utgångsdatum
Om du vill att ett visst användarkonto endast ska användas under en viss tidsperiod kan du ställa in ett utgångsdatum för det användarkontot. Sista utgångsdatum sätts i formatet ÅÅÅÅ-MM-DD
.
Syntax:
usermod -e [ÅÅÅÅ-MM-DD] [Användare]
För att kontrollera det aktuella utgångsdatumet för kontot, använd chage -l [användare]
kommando.
gaurav@ubuntu:~$ sudo chage -l batman [sudo] lösenord för gaurav: Senaste lösenordsändring: 06 sep 2020 Lösenordet upphör: aldrig Lösenordet inaktivt: aldrig Kontot upphör att gälla: aldrig Minsta antal dagar mellan lösenordsändringen: 0 Maximalt antal dagar mellan lösenordsändring: 99999 Antal dagar med varning innan lösenordet upphör: 7 gaurav@ubuntu:~$
I utgången ovan kan vi se att utgångsdatumet för användarens batman för närvarande inte är inställt. Nu kommer vi att använda usermod -e
kommando för att ställa in utgångsdatum för användarens batman.
Exempel:
sudo usermod -e 2022-06-19 batman
Nu kommer vi att kontrollera statusen för användarens utgångsdatum igen med hjälp av chage -l [användare]
kommando.
gaurav@ubuntu:~$ sudo chage -l batman [sudo] lösenord för gaurav: Senaste lösenordsändring: 06 september 2020 Lösenordet upphör: aldrig Lösenordet inaktivt: aldrig Kontot upphör: 19 juni 2022 Minsta antal dagar mellan lösenordsändringen: 0 Maximalt antal dagar mellan lösenordsbyte: 99999 Antal dagar med varning innan lösenordet löper ut: 7 gaurav@ubuntu:~$
På detta sätt har vi satt ett utgångsdatum för användarkontot "batman" som 19 juni 2022.
Slutsats
I den här handledningen har vi sett tillämpningarna av usermod
kommando för att modifiera grundläggande användarkontodata på ett omfattande sätt. Hör gärna av dig till oss om vi missat något.
Kolla in våra andra artiklar nedan för att lära dig mer om Tech. Lycka till med lärandet!