usermod
er et kommandolinjeværktøj, der giver dig mulighed for at ændre en brugers loginoplysninger.
Denne artikel beskriver, hvordan du bruger kommandoen usermod
til at tilføje en bruger til en gruppe, ændre en brugers shell, login-navn, hjemmemappe og meget mere.
usermod-kommando #
Syntaksen for usermod
-kommandoen har følgende form:
usermod USER
Kun root eller brugere med sudo
adgang kan påkalde usermod
og ændre en brugerkonto. Når kommandoen lykkes, vises der ikke noget output.
Add a User to a Group #
Det mest typiske tilfælde af anvendelse af usermod
er at tilføje en bruger til en gruppe.
For at tilføje en eksisterende bruger til en sekundær gruppe skal du bruge -a -G
-indstillingerne efterfulgt af gruppens navn og brugernavnet:
usermod -a -G GROUP USER
Hvis du vil tilføje brugeren til flere grupper på én gang, skal du angive grupperne efter -G
-indstillingen adskilt med ,
(kommaer) uden mellemliggende mellemrum.
For eksempel, hvis du vil tilføje brugeren linuxize
til gruppen games
, skal du køre følgende kommando:
sudo usermod -a -G games linuxize
Brug altid indstillingen -a
(append), når du tilføjer en bruger til en ny gruppe. Hvis du udelader -a
-indstillingen, vil brugeren blive fjernet fra de grupper, der ikke er opført efter -G
-indstillingen.
Hvis brugeren eller gruppen ikke findes, advarer kommandoen dig.
Ændre brugerens primære gruppe #
For at ændre en brugers primære gruppe skal du påberåbe kommandoen usermod
med af -g
-indstillingen efterfulgt af gruppens navn og brugernavnet:
sudo usermod -g GROUP USER
I det følgende eksempel ændrer vi den primære gruppe for brugeren linuxize
til developers
:
usermod -g developers linuxize
Hver bruger kan tilhøre præcis én primær gruppe og nul eller flere sekundære grupper.
Ændring af brugeroplysninger #
For at ændre GECOS-oplysningerne (brugerens fulde navn) skal du køre kommandoen med indstillingen -c
efterfulgt af den nye kommentar og det nye brugernavn:
usermod -c "GECOS Comment" USER
Her er et eksempel, der viser, hvordan du tilføjer yderligere oplysninger til brugeren linuxize:
usermod -c "Test User" linuxize
Disse oplysninger gemmes i filen /etc/passwd
.
Ændring af en brugerhjemmekatalog #
På de fleste Linux-systemer er brugerhjemmekatalogerne opkaldt efter brugerens navn og oprettet under mappen /home
.
Hvis du af en eller anden grund ønsker at ændre brugerens hjemmemappe, skal du påberåbe dig kommandoen usermod
med med med -d
-indstillingen efterfulgt af den absolutte sti til den nye hjemmemappe og navnet på brugeren:
usermod -d HOME_DIR USER
Som standard flytter kommandoen ikke indholdet af brugerens hjemmemappe til den nye. Hvis du vil flytte indholdet, skal du bruge indstillingen -m
. Hvis den nye mappe ikke allerede findes, oprettes den:
usermod -d HOME_DIR -m USER
Her er et eksempel, der viser, hvordan du ændrer hjemmemappen for brugeren www-data
til /var/www
:
usermod -d /var/www www-data
Ændring af en brugers standardskal #
Den standardskal er den skal, der køres, når du logger ind på systemet. På de fleste Linux-systemer er standardskal som standard indstillet til Bash Shell.
For at ændre brugerens standardskal skal du køre kommandoen med -s
-indstillingen efterfulgt af den absolutte sti til skallen og brugerens navn:
usermod -s SHELL USER
I eksemplet nedenfor ændrer vi brugerens shell til Zsh:
sudo usermod -s /usr/bin/zsh linuxize
Du kan finde ud af, hvilke shells der er tilgængelige på dit system ved at vise /etc/shells
-filens indhold.
Ændring af en bruger UID #
UID (brugeridentifikator) er et nummer, der tildeles hver bruger. Det bruges af operativsystemet til at henvise til en bruger.
For at ændre brugerens UID skal du påkalde kommandoen med indstillingen -u
efterfulgt af det nye UID og navnet på brugeren:
usermod -u UID USER
Eksemplet nedenfor viser, hvordan du ændrer “UID”-nummeret til “1050”:
sudo usermod -u 1050 linuxize
UID’et for de filer, der ejes af brugeren, og som befinder sig i brugerens hjemmemappe, og brugerens postkassefil vil automatisk blive ændret. Ejerskabet af alle andre filer skal ændres manuelt.
Ændring af et brugernavn #
Og selv om det ikke sker særlig ofte, kan du nogle gange ønske at ændre navnet på en eksisterende bruger. Indstillingen -l
bruges til at ændre brugernavnet:
usermod -l NEW_USER USER
I eksemplet nedenfor omdøber vi brugeren linuxize
til lisa
til “1050”:
sudo usermod -l linuxize lisa
Når du ændrer brugernavnet, vil du måske også ændre brugerens hjemmemappe, så den afspejler det nye brugernavn.
Indstilling af en brugerudløbsdato #
Udløbsdatoen er den dato, hvor brugerkontoen bliver deaktiveret. Hvis du vil indstille brugerens udløbsdato, skal du bruge indstillingen -e
:
sudo usermod -e DATE USER
Udløbsdatoen skal indstilles ved hjælp af formatet YYYY-MM-DD
.
For eksempel skal du for at deaktivere brugeren linuxize
på 2022-02-21
køre følgende kommando:
sudo usermod -e "2022-02-21" linuxize
For at deaktivere udløbsdatoen for en konto skal du indstille en tom udløbsdato:
sudo usermod -e "" linuxize
Brug kommandoen chage -l
for at få vist brugerens udløbsdato:
sudo chage -l linuxize
Last password change: Jul 24, 2018Password expires: neverPassword inactive: neverAccount expires: neverMinimum number of days between password change: 0Maximum number of days between password change: 99999Number of days of warning before password expires: 7
Løbsdatoen gemmes i /etc/shadow
-filen.
Låsning og oplåsning af en brugerkonto #
Med -L
indstillingen kan du låse en brugerkonto:
usermod -L USER
Kommandoerne indsætter et udråbstegn (!
) foran den krypterede adgangskode. Når adgangskodefeltet i /etc/shadow
-filen indeholder et udråbstegn, kan brugeren ikke logge ind på systemet ved hjælp af adgangskodegodkendelse. Andre loginmetoder, såsom nøglebaseret autentificering eller skift til brugeren, er stadig tilladt. Hvis du vil låse kontoen og deaktivere alle loginmetoder, skal du også indstille udløbsdatoen til 1.
De følgende eksempler viser, hvordan du låser brugeren linuxize
:
sudo usermod -L linuxize
sudo usermod -L -e 1 linuxize
For at låse en bruger op, skal du køre usermod
med indstillingen -U
:
usermod -U USER
Konklusion #
Vi har vist dig, hvordan du bruger kommandoen usermod
til at indstille brugerkontoinformationer.