Product SiteDocumentation Site

8.9. Andre oppsett: Synkronisering av tid, logger, deling av tilgang…

De mange delene opplistet i dette avsnittet, er nyttige å kjenne til for alle som ønsker å mestre alle aspekter ved oppsett av GNU/Linux-systemet. De er imidlertid behandlet i korthet, og referer ofte til dokumentasjonen.

8.9.1. Tidssone

Tidssonen som ble satt opp ved innledende installasjonen, er et oppsettselement for tzdata-pakken. For å endre den bruker du dpkg-reconfigure tzdata-kommandoen, som lar deg velge tidssonen som skal brukes interaktivt. Oppsettet er lagret i /etc/timezone-filen. I tillegg blir /etc/localtime en symbolsk lenke til den tilsvarende filen i /usr/share/zoneinfo; altså filen som inneholder reglene som styrer datoene for sommertid (DST) som trer i kraft for steder som bruker det.
Når du trenger å endre tidssonen midlertidig, bruker du miljøvariabelen TZ, som tar prioritet over systemstandarden som er satt:
$ date
Thu Sep  2 22:29:48 CEST 2021
$ TZ="Europe/Oslo" date
to. 02. sep 10:31:01 +0200 2021

8.9.2. Tidssynkronisering

Tidssynkronisering som kan virke overflødig på en datamaskin, er meget viktig i et nettverk. Siden brukerne ikke har adgang til å endre dato og tid, er det viktig at denne infoen er nøyaktig for å unngå forvirring. Videre, å ha synkronisert alle datamaskiner i et nettverk gir bedre kryssreferanseinfo fra loggene på forskjellige maskiner. Dermed, i tilfelle angrep, er det lettere å rekonstruere den kronologiske rekkefølgen av handlinger på de forskjellige maskinene som er skadelidende. Data som samles inn på flere maskiner for statistiske formål vil ikke gjøre mye nytte hvis de ikke er synkronisert.

8.9.2.1. For arbeidsstasjoner

Ettersom arbeidsstasjonene regelmessig blir omstartet (selv om det bare er for å spare energi), er det nok å synkronisere dem med NTP ved oppstart. For å gjøre dette, kan du installere ntpdate-pakken. Du kan om nødvendig endre NTP-tjeneren som brukes ved å endre /etc/default/ntpdate-filen.

8.9.2.2. For tjenere

Tjenere blir som oftest kun sjelden startet på nytt, og det er svært viktig at tidssystemet deres er korrekt. For å opprettholde riktig klokkeslett permanent må du installere en lokal NTP-tjener, en tjeneste som tilbys i ntp-pakken. Med forvalgsinnstillinger vil tjeneren synkroniseres med pool.ntp.org, og gi tid som svar på forespørsler som kommer fra det lokale nettverket. Du kan sette den opp ved å redigere /etc/ntp.conf-filen. Den viktigste endringen er NTP-tjeneren som den henviser til. Hvis nettverket har mange tjenere, kan det være nyttig å ha en lokal tidstjener som synkroniseres med offentlige tjenere, og brukes som en tidskilde av de andre tjenerne i nettverket.

8.9.3. Roterende loggfiler

Loggfiler kan vokse, raskt, og det er nødvendig å arkivere dem. Den vanligste ordningen er et roterende arkiv: Loggfilen blir regelmessig arkivert, og bare de siste X-arkivene beholdes. logrotate, programmet som er ansvarlig for disse rotasjonene, følger retningslinjer gitt i /etc/logrotate.conf-filen, og alle filene i /etc/logrotate.d/-mappen. Administratoren kan endre disse filene hvis de ønsker å innrette seg loggrotasjonsopplegget som Debian definerer. Manualsiden logrotate(1) beskriver alle de tilgjengelige valgene i disse oppsettsfilene. Du kan øke antall filer som beholdes i loggrotasjonen hvis du ønsker det, eller flytte loggfilene til en bestemt mappe øremerket arkivering, i stedet for å slette dem. Du kan også sende dem via e-post for å arkivere dem andre steder.
logrotate-programmet kjøres daglig av cron-kjøreplanprogram (beskrevet i Seksjon 9.7, «Planlegge oppgaver i tide med cron og atd»).

8.9.4. Deling av administratorrettigheter

Ofte arbeider flere administratorer på det samme nettverket. Å dele rotpassordet er ikke veldig elegant, og åpner døren for misbruk på grunn av anonymitet slik deling medfører. Løsningen på dette problemet er sudo-programmet, som lar utvalgte brukere utføre gitte kommandoer med spesielle rettigheter. I det vanligste tilfelle lar sudo en klarert bruker å utføre enhver kommando som rot. For å gjøre dette kjører brukeren sudo kommando, og autentiserer ved å bruke sitt personlige passord.
Etter installasjonen gir sudo-pakken fulle rot-tilgang til medlemmer av sudo -Unix-gruppen. For å delegere andre rettigheter kan administratoren bruke visudo-kommandoen som lar dem å endre oppsettsfilen /etc/sudoers (her igjen nyttes vi-tekstbehandleren, eller hvilken som helst annen, indikert i EDITOR-miljøvariabelen). Alternativt kan vedkommende putte regler i små filer i /etc/sudoers.d/, så lenge denne katalogen er inkludert i /etc/sudoers via @includedir /etc/sudoers.d, som er forvalget for Debian. Å legge til en linje med brukernavn ALL=(ALL) ALL lar den aktuelle brukeren utføre enhver kommando som rot-bruker.
Mer avanserte oppsett tillater godkjenning av kun bestemte kommandoer til utvalgte brukere. Alle detaljene i de forskjellige mulighetene er angitt i manualsiden sudoers(5).

8.9.5. Liste med monteringspunkter

Filen /etc/fstab gir en liste over alle mulige monteringspunkt som enten monteres automatisk ved oppstart, eller manuelt for flyttbare lagringsenheter. Hvert monteringspunkt er beskrevet av en mellomromsinndelt linje med flere felter:
  • filsystem: dette indikerer hvor filsystemet som skal settes opp finnes, det kan være en lokal enhet (harddisk, CD-ROM), eller et eksternt filsystem (for eksempel NFS eller tilogmed SSHFS).
    Dette feltet er ofte erstattet med den unike ID-en til filsystemet (som du kan fastslå med blkid enhet) med prefikset UUID=. Dette beskytter mot endring av navnet på enheten i tilfelle disker legges til eller fjernes, eller hvis disker blir funnet i en annen rekkefølge. Seksjon 8.8.1, «Identifisere diskene» dekker dette i nærmere detalj.
  • monteringspunkt: Dette er plasseringen i det lokale filsystemet der enheten, et eksternt system, eller partisjonen vil bli montert.
  • type: Dette feltet definerer filsystemet som brukes på den monterte enheten.ext4, ext3, vfat, ntfs, btrfs, xfs er noen få eksempler.
    En fullstendig liste over kjente filsystemer er tilgjengelig på manualsiden mount(8). swap-spesialverdien for partisjonsbytte; auto-spesialverdien ber mount-programmet om å finne filsystemet automatisk (som er spesielt nyttig for disklesere og USB-minnepenner, siden hvert og en av dem kan ha et annet filsystem);
  • alternativer: det er mange av dem, avhengig av filsystemet, og de er dokumentert på manualsiden mount. De vanligste er
    • rw eller ro, som respektivt betyr at enheten vil bli montert med lesing og skrivings- eller skrivebeskyttede tillatelser.
    • noauto deaktiverer automatisk montering ved oppstart.
    • nofail tillater oppstarten å fortsette selv når enheten ikke er til stede. Sørg for å sette dette alternativet for eksterne harddisker som kan være koblet fra når du starter, fordi systemd virkelig sikrer at alle monteringspunkter som må være automatisk montert , faktisk er montert før oppstartsprosessen blir ferdigstilt. Merk at du kan kombinere dette med x-systemd.device-timeout=5s for å be systemd om ikke å vente mer enn 5 sekunder før enheten vises (se systemd.mount(5)).
    • user lar alle brukere montere dette filsystemet (en operasjon som ellers ville vært forbeholdt rot-brukeren).
    • defaults betyr gruppen av standardvalg: rw, suid, dev, exec, auto, nouser og async, som kan skrus av individuelt etter defaults ved å legge til nosuid, nodev og så videre for å blokkere suid, dev og så videre. Å legge til user-valget reaktiverer den, siden defaults inkluderer nouser.
  • dump: dette feltet er nesten alltid satt til 0 og egentilig et relikvie. Når det er større enn null forteller det dump-verktøyet at partisjonen inneholder data som skal sikkerhetskopieres ofte. Verktøyet støtter kun ext2/3/4-filsystemer og bruker verdien her når kjørt via dump -W eller dump -w for å bestemme hvilke partisjoner som trenger sikkerhetskopiering. Sjekk eksemplene i /usr/share/doc/dump/examples/ hvis du vil bruke denne funksjonen. Det finnes dog bedre funksjoner for å sikkerhetskopiere et filsystem, som for eksempel fsarchiver.
  • pass: Dette siste feltet indikerer om integriteten til filsystemet bør sjekkes ved oppstart, og i hvilken rekkefølge denne sjekken skal utføres. Hvis det er 0, blir ingen sjekk utført. Rotfilsystemet skal ha verdien 1, mens andre permanente filsystemer får verdien 2.

Eksempel 8.5. Eksempel /etc/fstab fil

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# systemd generates mount units based on this file, see systemd.mount(5).
# Please run 'systemctl daemon-reload' after making changes here.
#
# <file system>                           <mount point>   <type>      <options>         <dump>  <pass>
# / was on /dev/sda1 during installation
UUID=7a250fb8-c16d-4a4e-9808-ec08ae92b6c6 /               ext4        errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
UUID=13f367ae-dbaf-40ed-85c0-4072a2ebe426 none            swap        sw                0       0
/dev/sr0                                  /media/cdrom0   udf,iso9660 user,noauto       0       0
/dev/fd0                                  /media/floppy   auto        rw,user,noauto    0       0
arrakis:/shared                           /shared         nfs         defaults          0       0
Den siste oppføringen i eksempelet tilsvarer et nettverksfilsystem (NFS): /shared/-mappen på arrakis-tjeneren er montert på /shared/ på den lokale maskinen.
Formatet for /etc/fstab-filen er dokumentert på fstab(5)-manualsiden.

8.9.6. locate og updatedb

locate-kommandoen kan ut hvor en fil er når du kun kjenner en del av navnet. Det sender et resultat nesten umiddelbart, siden det henvender seg til database allerede har plasseringen av alle filene i systemet lagret. Denne databasen oppdateres daglig av updatedb-kommandoen. Det er flere implementasjoner av locate-kommandoen, og Debian valgte mlocate. Hvis du vil ha et alternativ kan du prøve plocate som gir samme kommandolinjevalg, og dermed kan tjene som en ren erstatning.
locate er smart nok til bare å gi tilbake filer som er tilgjengelige for brukeren som kjører kommandoen selv om den bruker en database som kjenner til alle filene på systemet (fordi updatedb-gjennomføringen kjører med rot-rettigheter). For ekstra sikkerhet kan administratoren bruke PRUNEDPATHS i /etc/updatedb.conf til å utelukke kataloger fra indeksering.