Linux Brukeradministrasjon: Legg til, Endre & Fjern Brukere

Brukeradministrasjon i Linux

Administrasjon av brukere er en fundamental oppgave for enhver systemadministrator, uavhengig av operativsystem. I Linux innebærer dette å opprette nye brukerprofiler, modifisere eksisterende kontoer – som å justere hjemmekatalog, standard skall, låse/åpne kontoer – og slette brukerprofiler. Før vi går inn på de spesifikke kommandoene og prosessene, la oss se nærmere på hvordan brukere kategoriseres i Linux, med hovedfokus på de vanligste Linux-distribusjonene.

Klassifisering av Brukere

Rootbruker

Rootbrukeren, også kjent som superuser, har høyeste myndighet i systemet og full tilgang til alle operasjoner. Det er som regel bare root som kan installere, avinstallere eller oppdatere systemets kjernekode og biblioteker. Dette er systemets eneste konto med full kontroll.

Dermed er rotbrukeren den mest privilegerte i systemet.

Spesielle Brukere

Dette er kontoer som ikke er tiltenkt pålogging. De har færre rettigheter enn root-brukeren, og de er satt opp for spesifikke systemfunksjoner. De opprettes som oftest i forbindelse med programvareinstallasjon. Eksempler inkluderer «bin», «sync», «lp», «mail», «operator» og «squid».

Vanlige Brukere

Vanlige brukere har full kontroll i sin egen arbeidskatalog, som typisk er deres hjemmekatalog. De mangler myndighet til å administrere systemet eller installere programvare uten spesielle sudo-privilegier.

Opprette Brukere

Debian/Ubuntu

I Debian- eller Ubuntu-baserte systemer er det flere måter å opprette brukere via kommandolinjen. «adduser» er et Perl-skript som bruker «useradd» i bakgrunnen. Denne kommandoen krever sudo-rettigheter etterfulgt av brukernavnet som argument. Du vil deretter bli bedt om ytterligere informasjon. Brukernavn og passord er obligatoriske, mens annen info er valgfritt. Bruk «id»-kommandoen for å bekrefte at kontoen er opprettet.

$ 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)

«useradd» fungerer universelt i RHEL-baserte distribusjoner og i Ubuntu/Debian. Den enkleste syntaksen for å lage en ny bruker er:

$ sudo useradd <brukernavn>

Eksempel:

$ sudo useradd janedoe

Kommandoen «useradd» har mange valgmuligheter, inkludert bruker-ID (UID), gruppe-ID (GID), standard skall og hjemmekatalog. Her er et eksempel:

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

Brukeren kan bekreftes med «id»-kommandoen:

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

Endre Brukere

Fra tid til annen må man endre eksisterende brukerprofiler på grunn av organisasjonsmessige endringer, brukerforespørsler eller systemmigreringer. Endringene er ofte enkle, men det er viktig å være oppmerksom på hvordan endringer påvirker brukermiljøet og filtilgang.

Standard Skall

Standard skallet er kommandolinjetolken som startes når en bruker logger på, enten lokalt eller via SSH. De fleste systemer har Bash som standard, men dette kan variere. For å endre en brukers standard skall, bruk:

$ sudo usermod -s <skall> <brukernavn>

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
$

Her ser vi at skallet for bruker «janedoe» har blitt endret fra /bin/sh til /bin/bash.

Hjemmekatalog

En brukers hjemmekatalog kan endres med:

$ sudo usermod -d <ny_katalogsti> <brukernavn>

I eksemplet under endres hjemmekatalogen til brukeren «janedoe» 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
$

Sørg for at den nye katalogen har korrekt eierskap og rettigheter. Hvis ikke, kan brukeren oppleve problemer ved pålogging eller bruk av den nye hjemmekatalogen.

Bruker-ID

Bruker-ID-en (UID) kan endres ved hjelp av:

$ sudo usermod -u <ny_uid> <brukernavn>

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
$

Ved å endre UID endrer man hvordan Linux knytter eierskap og tillatelser til en fil eller katalog. Det er essensielt å sikre at hjemmekatalogen, dens innhold og alle andre filer som opprinnelig eies av brukeren (med den gamle UID) endres til den nye UID. Manglende korrigeringer kan føre til problemer med filtilgang for brukeren.

Standardgruppe

Standardgruppen er vanligvis brukerens gruppe-ID, som opprettes ved brukerens opprettelse, med mindre en annen GID er spesifisert. For å endre en brukers standardgruppe, bruk:

$ sudo usermod -g <ny_gid eller gruppenavn> <brukernavn>

Her er et 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
$

Sørg igjen for at den nye gruppe-ID-en tilordnes brukerens hjemmekatalog og alt innhold, for å sikre riktig migrasjon av eierskapsrettigheter.

Legge til/fjerne Grupper

I tillegg til standardgruppen, kan en Linux-bruker være medlem av sekundære grupper. Du kan legge til eller fjerne grupper ved hjelp av «usermod».

$ sudo usermod -a -G <gruppe_id eller gruppenavn> <brukernavn>

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)
$

For å fjerne en bruker fra en sekundær gruppe, bruk «gpasswd» som vist:

$ sudo gpasswd -d <brukernavn> <gruppenavn>

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. Du kan endre denne informasjonen for en eksisterende bruker med:

$ sudo usermod -c <kommentar> <brukernavn>

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
$

Husk å omslutte kommentaren i anførselstegn dersom den inneholder mellomrom.

Påloggingsnavn

Brukerens påloggingsnavn kan endres med -l flagg:

$ sudo usermod -l <nytt_brukernavn> <gammelt_brukernavn>

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 alle referanser til brukeren med det nye navnet.

Fjerne Brukere

En bruker kan fjernes fra Linux med kommandoen «userdel».

$ sudo userdel <brukernavn>

Eksempel:

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

For å fjerne brukerens hjemmekatalog og e-postkø, legg til flagget -r.

$ sudo userdel -r <brukernavn>

For Ubuntu-baserte systemer kan du også bruke kommandoen «deluser»:

$ sudo deluser <brukernavn>

For å fjerne hjemmekatalog og e-postkø, bruk:

$ sudo deluser --remove-home <brukernavn>

For detaljert informasjon om kommandoene, se manualsidene ved å bruke:

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

Konklusjon

Denne artikkelen har presentert sentrale aspekter ved brukeradministrasjon i Linux, inkludert kategorisering av brukere og hvordan man legger til, endrer og fjerner dem. Selv om den ikke dekker alle alternativer for de ulike kommandoene, gir den et solid grunnlag for vanlige administrative oppgaver som systemadministratorer vil møte i det daglige arbeidet.

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