8 Tricks til Linux-brugeradministration med kommandoen usermod

Usermod-kommandoen giver mulighed for effektiv brugerkontoadministration i Linux, fra opdatering af brugeroplysninger til ændring af adgangskoder og kontoindstillinger uden at slette kontoen.
usermod-kommandoen er et værktøj til opdatering af oplysninger om en eksisterende brugerkonto i dit system. Det er lidt ligesom at redigere "profilen" for en Linux-bruger. Med den kan du justere alt fra brugernavnet til login-skallen uden at skulle slette og genskabe kontoen.
8 Opdater en brugers oplysninger
Hvis du blot ønsker at ændre generelle brugeroplysninger som kontobeskrivelsen (også kaldet "kommentarfeltet"), kan du bruge -c-optionen. Dette felt bruges ofte til ting som brugerens fulde navn, afdeling eller andre korte beskrivelser. Her er et eksempel:
sudo usermod -c "HTG Testbruger" htg
-c-flagget er for kommentarfeltet. Hvad end du sætter i citater, vil vises i "/etc/passwd". Efter at have kørt dette kan du kontrollere, om opdateringen virkede ved at kigge i "/etc/passwd"-filen:
grep htg /etc/passwd
Bemærk "HTG Testbruger" i det femte felt. Det er den beskrivelse, vi lige har tilføjet. Dette felt bruges nogle gange af display managers eller værktøjer som finger. Det hjælper på multi-bruger-servere, hvor du måske ikke kan huske, hvem en bestemt bruger er.
Nogle gange skal du ændre en brugers login-navn. Måske var brugernavnet midlertidigt, eller måske ønsker du blot at standardisere navngivningskonventionerne. usermod-kommandoen gør dette muligt uden at skulle slette og genskabe kontoen. Her er, hvordan du ville ændre brugernavnet for vores eksempelbruger 'htg' til 'howtogeek':
sudo usermod -l howtogeek htg
-l (lille l) flagget står for login-navn. Det fortæller usermod, at du vil ændre kontoens brugernavn. Bemærk syntaksen nøje. Du skal angive det nye brugernavn først og derefter det nuværende brugernavn for den bruger, du ønsker at ændre navnet for.
Efter at have kørt dette bruger kontoen nu 'howtogeek' som login-navn. Du kan bekræfte ændringen ved at tjekke "/etc/passwd"-filen igen:
grep howtogeek /etc/passwd
Du skal også vide, at ændring af login-navnet ikke automatisk omdøber brugerens hjemmebibliotek. Så i dette eksempel ville brugeren stadig have "/home/htg" som deres hjemmebibliotek, medmindre du eksplicit ændrer det (behandles i et senere afsnit). Før du kører kommandoen, skal du sikre dig, at brugeren er logget ud for at undgå fejl eller uventet adfærd.
6 Ændr bruger-ID'er
Hver bruger på et Linux-system identificeres ikke bare ved sit brugernavn. De har også et UID (bruger-ID)-nummer. UID'en er, hvad systemet virkelig bekymrer sig om, når det tjekker fil-ejerskab og tilladelser. Normalt behøver du ikke at rode med UIDs, men der er tidspunkter, hvor du måske skal, såsom migrering af brugere mellem systemer, mens du holder fil-ejerskab konsistent eller løser konflikter, når to brugere ved et uheld har det samme UID.
Her er, hvordan du ville ændre UID'en for vores eksempelbruger 'htg' fra den nuværende til 1500:
sudo usermod -u 1500 htg
-u optionen sætter et nyt UID for brugeren. Derefter sender vi det nye bruger-ID-nummer til det. Sørg for, at det er unikt på systemet. Efter ændring af UID'en skal du bekræfte det ved at køre:
id htg
Du skal se det nye UID reflekteret i outputtet. En god ting er, at de filer, som brugeren ejer og som er i brugerens hjemmebibliotek, automatisk vil få deres UID ændret til den nye.
Efter at have ændret UID'en for brugeren 'htg', blev filen i hans hjemmebibliotek også opdateret til den nye UID.
5 Indstil eller nulstil en brugers adgangskode
Ændring af en brugers adgangskode er en af de mest almindelige administrative opgaver. Normalt ville du bruge passwd-kommandoen til at gøre dette, men interessant nok kan usermod også håndtere adgangskode-relaterede ændringer.
Der er dog et men. usermod-kommandoen krypterer ikke adgangskoden for dig. Det betyder, at adgangskoden vil blive gemt i klartekst i "/etc/shadow"-filen. Her er den generelle syntaks:
sudo usermod -p adgangskode htg
Du kan kigge på "/etc/shadow"-filen for at bekræfte, om adgangskoden blev ændret.
sudo grep htg /etc/shadow
Som du kan se, blev adgangskoden ændret, men kan ses i klartekst. Dette gør det lidt risikabelt. Det kan være nyttigt i nogle specifikke situationer, hvor du skriver et script og muligvis skal bruge foruddefinerede adgangskoder. I de fleste andre tilfælde er passwd den bedre mulighed for at ændre en brugers adgangskode.
4 Redefiner en
Brugers Hjemmebibliotek
Som standard, når du opretter en bruger, får de et hjemmebibliotek under "/home/brugernavn." Men hvad hvis du ønsker at flytte dette bibliotek et andet sted hen, måske til en anden disk? Eller måske har du omdøbt brugeren og vil have hjemmebiblioteket til at matche? Det er her usermod-kommandoens -d option kommer til nytte.
sudo usermod -d /home/howtogeek htg
-d optionen indstiller en ny sti til hjemmebiblioteket for brugeren. Efter at have kørt dette vil Linux genkende "/home/howtogeek" som brugerens hjem. Men her er den vigtige del. Dette flytter ikke nogen filer. Det ændrer blot referencen. Hvis "/home/howtogeek" ikke eksisterer, ender brugeren med et tomt (eller endda ikke-eksisterende) hjem.
Hvis du vil have filerne fra det gamle hjemmebibliotek flyttet til det nye, skal du tilføje -m optionen:
sudo usermod -d /home/howtogeek -m htg
Nu vil usermod faktisk flytte alt fra "/home/htg" til "/home/howtogeek." Dette er særligt nyttigt, når brugere omdøbes, så deres hjemmebibliotek matcher det nye login-navn. Efter flytningen er det en god idé at liste biblioteket og bekræfte, at alt kom over:
ls -la /home/howtogeek
Hvis du kan se brugerens filer, var operationen vellykket.
Tilpas en Brugers Grupper
På Linux organiserer grupper brugere og kontrollerer deres adgang til filer, biblioteker og tjenester. Hver bruger tilhører mindst én primær gruppe, og de kan også tilhøre flere supplerende (eller sekundære) grupper. usermod-kommandoen lader dig ændre både primære og sekundære grupper samt tilføje eller fjerne brugere fra eksisterende grupper.
Den primære gruppe oprettes som regel på samme tidspunkt som brugerkontoen og har samme navn som brugeren. Du kan skifte den med -g optionen.
sudo usermod -g developers htg
Nu, hver gang 'htg' opretter en fil, vil den være ejet af udviklergruppen (i stedet for deres gamle primære gruppe.) Det meste af tiden vil du ønskes at tilføje brugere til yderligere grupper, så de kan få adgang til bestemte ressourcer (sudo, for eksempel.)
sudo usermod -aG sudo htg
-a optionen betyder tilføj. Uden denne risikerer du at erstatte eksisterende gruppe medlemskaber. -G optionen tilføjer brugeren til den specifikke gruppe. Hvis du bruger -G uden -a, beder du Linux om at erstatte alle supplerende grupper med dem, du angiver.
sudo usermod -G sudo htg
Nu er 'htg' kun i sudo-gruppen (foruden deres primære gruppe). Så vær forsigtig med at bruge det, fordi du kan komme til at låse nogen ude af vigtige tilladelser.
Der er ingen måde at fjerne en bruger fra en gruppe ved at bruge usermod. Du kan dog specificere de grupper, du vil have brugeren til at være medlem af. For eksempel, hvis 'htg' er medlem af grupperne employee, admin og IT. Du vil fjerne brugeren fra admin. For det skal du køre:
sudo usermod -G employee,IT htg
Nu er 'htg' ude af admin-gruppen, men stadig i employee og IT.
Konfigurer en Brugers Shell
Hver gang en bruger logger ind, starter Linux en shell, det kommandolinjemiljø, hvor de interagerer med systemet. Standard er som regel "/bin/bash", men der er mange andre shells som "/bin/zsh", "/bin/sh", eller endda specialiserede begrænsede shells.
Med usermod kan du ændre, hvilken shell der starter, når brugeren logger ind. Her er et eksempel, hvor vi ændrer 'htg' brugerens shell til Zsh:
sudo usermod -s /bin/zsh htg
-s optionen indstiller brugerens login-shell. Derefter angiver vi stien til den shell, vi vil indstille for brugeren. Nu, når 'htg' logger ind, vil de blive mødt af Zsh i stedet for Bash. Hvis du er usikker på stierne til forskellige shells i dit system, kan du prøve at køre:
cat /etc/shells
Dette viser de tilgængelige shells med deres stier. Efter at have ændret standard shell, kan du bekræfte, om det var en succes ved at køre:
getent passwd htg
Som du kan se, blev standard shell for 'htg' ændret til Zsh fra Bash. Dette er nyttigt, hvis du vil begrænse en brugers aktivitet ved at give en mindre kraftfuld shell.
Lås og Lås Op Bruger Konti
Nogle gange ønsker du ikke at slette en bruger, men du vil forhindre dem i at logge ind. Måske er de på barsel, måske har de forladt virksomheden, men du skal beholde deres filer, eller måske er du...
Fejlfinding. Det er her, kontolåsning kommer ind i billedet. Med usermod kan du hurtigt låse eller låse en kontos adgangskode.
For at låse 'htg' brugerens konto, kører jeg blot:
sudo usermod -L htg
-L optionen låser kontoen. Det fungerer ved at tilføje et udråbstegn (!) foran den krypterede adgangskode i "/etc/shadow." Efter dette vil 'htg' ikke kunne logge ind med deres adgangskode. Når du er klar til at give adgang tilbage, kør blot:
sudo usermod -U htg
-U optionen låser kontoen op ved at fjerne ! foran adgangskodehashen.
Låsning påvirker kun adgangskodebaseret login. Hvis brugeren har SSH-nøgler konfigureret, kan de stadig logge ind med disse, medmindre du tager ekstra skridt. Til midlertidige suspensioner kan du kombinere usermod med udløbsdatoer for kontoen. For eksempel:
sudo usermod -e 2025-09-30 htg
Efter den 30. september 2025 vil kontoen blive deaktiveret automatisk.
Uanset om du er systemadministrator eller blot nysgerrig på Linux-brugeradministration, vil disse tricks være nyttige. Der er mange flere tidsbesparende Linux-tricks, du bør lære. Du kan også udforske andre kommandoer, såsom nc-kommandoen.

Skriv et svar