Hvordan legge til, endre og fjerne bruker i Linux?

Brukeradministrasjon i et hvilket som helst operativsystem er en av de grunnleggende rutineoppgavene til en systemadministrator.

For et Linux-basert operativsystem innebærer det vanligvis å opprette brukerkontoer, endre eksisterende kontoer som å endre hjemmekatalogen, standardskallet, låse/låse opp en eller flere kontoer og fjerne brukerkontoer.

Før vi undersøker kommandoene og prosessene for å utføre disse oppgavene, la oss gå kort inn i hvordan brukerkontoer kan klassifiseres i Linux. Vær også oppmerksom på at med mindre det er spesifisert, vil gitte kommandoer fungere i de fleste vanlige Linux-distribusjoner.

Brukertyper

Rootbruker

Rotbrukeren er administrator for OS med alle tillatelser til å utføre operasjoner. Vanligvis er det bare root som kan installere/avinstallere eller oppdatere grunnleggende systemprogrammer og biblioteker. Det er den eneste brukerkontoen med systemomfattende privilegier.

Så rotbrukeren er den kraftigste brukeren av systemet.

Spesiell bruker

Dette er brukere uten pålogging. De har ikke alle rettighetene til root-brukeren. Avhengig av kontoen påtar de forskjellige spesialiserte roller.

Disse opprettes automatisk på tidspunktet for enhver applikasjonsinstallasjon. bin, sync, lp, mail, operator, squid er noen av eksemplene på spesielle brukere.

Vanlige brukere

Vanlige brukere har fulle rettigheter bare i arbeidskatalogen, vanligvis hjemmekatalogen. De har ikke rettigheter til å administrere systemet eller installere programvaren. De kan ikke utføre disse oppgavene uten å ha spesielle privilegier via sudo.

Legger til bruker

Debian/Ubuntu

På et Debian- eller Ubuntu-basert system er det et par alternativer for å legge til brukere fra CLI. Den første kommandoen er adduser, som er et Perl-skript og bruker useradd-kommandoen i backend hvis bruk vi vil se senere.

Siden det å legge til en bruker er en privilegert oppgave, må du bruke sudo som prefiks og brukernavn som argument. Andre detaljer kan spesifiseres når du blir bedt om det. Bortsett fra brukernavn og passord, er resten av detaljene valgfrie. Vi kan bekrefte at brukeren er opprettet ved å bruke id-kommandoen.

$ sudo adduser johndoe
Adding user `johndoe' ...
Adding new group `johndoe' (1003) ...
Adding new user `johndoe' (1003) with group `johndoe' ...
Creating home directory `/home/johndoe' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for johndoe
Enter the new value, or press ENTER for the default
        Full Name []: John Doe
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] Y
$
$ id johndoe
uid=1003(johndoe) gid=1003(johndoe) groups=1003(johndoe)
$

CentOS/RHEL/Fedora (inkludert Debian/Ubuntu)

Den neste kommandoen, useradd vil fungere på tvers av RHEL-baserte OS-distribusjoner, så vel som fungerer like bra på Ubuntu/Debian-verter. Den enkleste syntaksen (uten ekstra alternativer) for å opprette en ny bruker er:

$ sudo useradd <username>

Eksempel:

$ sudo useradd janedoe

Useradd-kommandoen støtter flere alternativer som kan spesifiseres mens du oppretter brukeren, mest vanlig er bruker-ID (UID), gruppe-ID (GID), standard skall og hjemmekatalog, etc. Et slikt eksempel er gitt nedenfor:

$ sudo useradd -s /bin/sh -d /data/newhome -c "Jane Doe" -u 1005 janedoe

Du kan bekrefte den nyopprettede brukeren ved å bruke id-kommandoen:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$

Endre bruker

Man må ofte endre noen egenskaper til eksisterende brukere basert på organisasjonskrav, brukerforespørsler eller systemmigreringer. De fleste av disse egenskapene er enkle å endre, selv om vi må sikre hvordan det vil påvirke brukermiljøet og tilgang til filer som eies eller åpnes av brukeren.

  Hvordan spille Space Engineers på Linux

Standard Shell

Standardskallet er CLI-skallet som opprettes når en bruker starter en ny CLI-sesjon enten lokalt eller via SSH. De fleste moderne systemer har en standard bruker Bash, selv om den kan variere basert på Linux-distribusjon eller brukerens miljø. For å endre standardskallet til en bruker, bruk:

$ sudo usermod -s <shell> <username>

Eksempel:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/sh
$ sudo usermod -s /bin/bash janedoe
$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/bash
$

Som du kan se i utgangen ovenfor, har skallet blitt endret fra /bin/sh til /bin/bash for brukeren janedoe.

Hjemmekatalog

Som standardskall kan en brukers hjemmekatalog endres til en annen plassering ved å bruke:

$ sudo usermod -d <new_directory_path> <username>

I eksemplet nedenfor er brukerhjemmekatalogen til brukeren janedoe endret til /data/janedoe:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/bash
$ sudo usermod -d /data/janedoe janedoe
$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$

Før du bytter, sørg for at den nye katalogen har rett eierskap og rettigheter. Ellers kan brukeren få problemer under pålogging eller arbeid i den nye hjemmekatalogen.

  Hvordan bruke Pipes på Linux

bruker-ID

Du kan endre bruker-IDen til en eksisterende bruker ved å bruke:

$ sudo usermod -u <new_uid> <username>

Eksempel:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$ sudo usermod -u 1010 janedoe
$ getent passwd janedoe
janedoe:x:1010:1005::/data/janedoe:/bin/bash
$

Igjen, endring av UID endrer hvordan Linux-filsystemet tilordner eierskap og tillatelse til en fil eller katalog. Sørg for at brukerens hjemmekatalog og dens innhold og alle andre filer hvor som helst i systemet, som opprinnelig eies av brukeren (med gammel UID), endres til UID-tilordnet. Hvis du ikke gjør det, kan det føre til problemer i CLI-økten og filtilgang for brukeren.

Standardgruppe

Standardgruppen er vanligvis brukerens standard gruppe-ID, som blir opprettet under brukeroppretting med mindre en annen GID er spesifisert. Linux lar deg endre standardgruppen til en bruker ved å bruke usermod-kommandoen også. Her er syntaksen som skal brukes:

$ sudo usermod -g <new_gid or group_name> <username>

Her er ett eksempel:

$ getent passwd janedoe
janedoe:x:1010:1005::/data/janedoe:/bin/bash
$ sudo usermod -g 1001 janedoe
$ getent passwd janedoe
janedoe:x:1010:1001::/data/janedoe:/bin/bash
$

Igjen, sørg for at den nye gruppe-ID-en er angitt i brukerens hjemmekatalog, innhold og alle andre filer eller kataloger som gjelder for riktig migrering av eierskapstillatelser.

Legge til/fjerne grupper

Foruten standardgruppen, kan en bruker i Linux være en del av sekundære grupper. Vi kan alltid legge til eller fjerne flere grupper en bruker tilhører ved å bruke usermod-kommandoen.

$ sudo usermod -a -G <group_id or group_name> <username>

Eksempel:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo usermod -a -G docker janedoe
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe),1001(docker)
$

På samme måte, for å fjerne en bruker fra en av de sekundære gruppene, bruk gpasswd-kommandoen som vist nedenfor:

$ sudo gpasswd -d <username> <groupname>

Eksempel:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe),1001(docker)
$ sudo gpasswd -d janedoe docker
Removing user janedoe from group docker
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$

GECOS-kommentar

GECOS-feltet i /etc/passwd inneholder brukerinformasjon eller kommentar. Vi kan endre denne informasjonen for en eksisterende bruker som:

$ sudo usermod -c <comment> <username>

Eksempel:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$ sudo usermod -c "Jane Doe - System Admin" janedoe
$ getent passwd janedoe
janedoe:x:1005:1005:Jane Doe - System Admin:/data/janedoe:/bin/bash
$

Vær oppmerksom på at hvis kommentaren eller brukerdetaljene dine inneholder mellomrom, omslutt dette feltet i anførselstegn som gjort i eksemplet ovenfor.

  Hvordan spille Age of Empires IV på Linux

Påloggingsnavn

Brukerens påloggingsnavn kan også endres ved å bruke usermod-kommandoen ved å bruke -l flagg:

$ sudo usermod -l <new_username> <old_username>

Eksempel:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo usermod -l jane_doe janedoe
$ id jane_doe
uid=1005(jane_doe) gid=1005(janedoe) groups=1005(janedoe)
$

Husk å oppdatere brukerreferanser i henhold til nytt navn uansett hvor det brukes. Selv i kommandoer som id, bør det nye brukernavnet spesifiseres.

Fjerner bruker

En bruker kan fjernes fra Linux ved å bruke userdel-kommandoen.

$ sudo userdel <username>

Eksempel:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo userdel janedoe
$ id janedoe
id: ‘janedoe’: no such user
$

For å fjerne en bruker sammen med dens hjemmekatalog og e-postkø, legg til -r flagg også.

$ sudo userdel -r <username>

Spesielt for Ubuntu-baserte systemer kan du også bruke en deluser-kommando for å fjerne en bruker:

$ sudo deluser <username>

På samme måte, for å fjerne hjemmekatalogen og e-postkøen også, bruk:

$ sudo deluser --remove-home <username>

For detaljert informasjon og andre støttede alternativer, se hovedsiden for forskjellige kommandoer ved å bruke:

$ man adduser
$ man useradd
$ man usermod
$ man deluser
$ man userdel

Konklusjon

Denne artikkelen viste ulike aspekter ved brukeradministrasjon i et Linux-system. Dette inkluderer en forklaring av ulike kategorier av brukere og hvordan du legger til og fjerner dem. Den dekker også ulike alternativer som hjelper til med å endre parametrene til en eksisterende bruker. Selv om den ikke dekker alle muligheter som støttes av ulike kommandoer, dekker den mange vanlige administrasjonsoppgaver som en systemadministrator vil møte i det daglige arbeidet.

Du kan også være interessert i å lese: Hvordan fjerne filer og kataloger i Linux?