Product SiteDocumentation Site

8.4. Bruker- og gruppedatabaser

Listen over brukere er vanligvis lagret i /etc/passwd-filen, mens /etc/shadow-filen lagrer tilhørende passordsjekksummer. Begge er tekstfiler i relativt enkelt format, som kan leses og endres med en tekstbehandler. Hver bruker er oppført på sin egen linje med flere felt adskilt med kolon («:»).

8.4.1. Brukerliste: /etc/passwd

Her er listen over feltene i /etc/passwd-filen:
  • innloggingsnavn, for eksempel sundquist;
  • password: Dette er et passord kryptert med en enveisfunksjon (crypt), som støtter seg på DES, MD5, SHA-256, eller SHA-512. Spesialverdien «x» indikerer at det krypterte passordet er lagret i /etc/shadow;
  • uid: unikt nummer som identifiserer hver bruker;
  • gid: unikt nummer for brukerens hovedgruppe (Debian lager en bestemt gruppe for hver bruker som forvalg);
  • GECOS: datafelt som vanligvis inneholder brukerens fulle navn;
  • innloggingsmappe, tildelt til brukeren for oppbevaring av deres personlige filer (miljøvariabelen $HOME peker generelt hit);
  • program som skal kjøres ved pålogging. Dette er vanligvis en kommandofortolker (skall), som gir brukeren frie hender. Hvis du angir /bin/false (som ikke gjør noe, og returnerer kontrollen umiddelbart), kan ikke brukeren logge inn.
Som nevnt kan denne filen redigeres direkte. Det finnes dog mer elegante måter å utføre endringer, beskrevet i Seksjon 8.4.3, «Endring av eksisterende konto eller passord».

8.4.2. Den skjulte og krypterte passordfilen: /etc/shadow

/etc/shadow-filen inneholder følgende felter:
  • innloggingsnavn;
  • krypterte passord;
  • flere felt håndterer passordsutløp.
Man kan sørge for at passord utløper ved bruk av denne filen, eller sette et tidsutløp der kontoen blir avskrudd etter at passordet har utløpt.

8.4.3. Endring av eksisterende konto eller passord

Følgende kommandoer tillater endring av infoen lagret i bestemte felt i brukerdatabasen: passwd tillater en vanlig bruker å endre passordet sitt, som igjen oppdaterer /etc/shadow-filen (chpasswd lar administratorer oppdatere en liste brukere samtidig); chfn (CHange Full Name), er reservert for superbrukeren (rot), modifiserer GECOS-feltet. chsh (CHange SHell) lar brukeren endre sitt innloggingsskall, men tilgang til valgene er begrenset til dem oppført i /etc/shells. Administratoren er dog ikke bundet av denne begrensningen, og kan sette skallet til et hvilket som helst program.
Til slutt, chage (CHange AGE)-kommandoen tillater administratoren å endre passordets utløpsinnstillinger (-l bruker-valget vil liste de gjeldende innstillingene). Du kan også tvinge utløp av et passord ved å bruke passwd -e bruker-kommandoen, som krever at brukerne endrer passordet sitt neste gang de logger inn.
I tillegg til disse verktøyene kan man bruke usermod-kommandoen for å tillate endring av alle detaljer nevnt ovenfor.

8.4.4. Deaktivering av en konto

Du trenger kanskje å «deaktivere en konto» (låse ute en bruker), som disiplinærtiltak, i forbindelse med en etterforskning, eller rett og slett for langvarig eller permanent fravær for en bruker. En deaktivert konto betyr at brukeren ikke kan logge inn eller få tilgang til maskinen. Kontoen er fortsatt intakt på maskinen, og ingen filer eller data blir slettet; Den er ganske enkelt utilgjengelig. Dette oppnås ved hjelp av kommandoen passwd -l bruker (lås). Å re-etablere kontoen gjøres på samme måte, med -u-valget (lås opp). Dette forhindrer dog kun passordsbaserte innlogginger på vegne av brukeren. Det kan hende brukeren fremdeles kan nå systemet via en SSH-nøkkel (hvis det er satt opp). For å forhindre selv denne muligheten må du sette kontoen som utløpt ved bruk av enten chage -E 1bruker, eller usermod -e 1 bruker (bruk verdien -1 i en av disse kommandoene for å tilbakestille utløpsdatoen til aldri). For å (midlertidig) skru av alle brukerkontoer kan du opprette filen /etc/nologin.
Du kan skru av en brukerkonto ved å låse den som beskrevet ovenfor, men også ved å endre dens forvalgte innloggingsskall (chsh -s skall-bruker). Hvis skallet endres til /usr/sbin/nologin vil brukeren få en vennlig melding som informerer vedkommende om at innlogging ikke er mulig, mens /bin/false kun vil avslutte og returnere false. Det finnes ikke noe valg for å gjenopprette forrige skall. Du må hente og ta vare på den infoen før du endrer innstillingen. Disse skallene brukes ofte for systembrukere som ikke trenger å kunne logge inn.

8.4.5. Gruppeliste: /etc/group

Grupper listes opp i /etc/group-filen, en enkel tekstdatabase i et format som ligner den for /etc/passwd-filen, med følgende felt:
  • gruppenavn;
  • password (optional): This is only used to join a group when one is not a usual member (with the newgrp or sg commands, see sidebar DET GRUNNLEGGENDE Å arbeide med flere grupper);
  • gid: unikt gruppeidentifikasjonsnummer;
  • medlemsliste: Kommainndelt liste over navn på brukere som er medlemmer av gruppen.
Henholdsvis addgroup og delgroup-kommandoene legger til eller sletter en gruppe. groupmod-kommandoen endrer en gruppes info (its gid, eller identifikator). Kommandoen gpasswd group endrer passordet for gruppen, mens passwd -r group-kommandoen sletter den.