Gå til innholdet

Cookie-innstillinger

Velg hvilke typer cookies du tillater. Du kan når som helst endre valget via Cookie-innstillinger nederst på hver side. Personvernerklæring

Nødvendige

Alltid på

Trengs for å logge inn, beholde handlekurven og huske valgene dine. Disse er alltid på.

Hvilke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: økten din og at du forblir innlogget
  • weboke_basket: handlekurven din
  • wkBtwIncl: visning av priser med eller uten mva.
  • wok_cookies: cookievalget ditt, 12 måneder

Måler hvilken annonse som fører til et besøk eller en bestilling, slik at vi ikke betaler for annonser som ikke gir noe.

Hvilke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), opptil 90 dager
  • OpenAI Ads, annonser i ChatGPT
  • wok_aff: hvilken partner som henviste deg til oss (partnerprogram), 60 dager

4,6

Land og språk

Hvert land har sin egen nettside, med priser og mva. for det landet.

Vis

Se deg rundt på kommandolinjen

Modul 1: Din første server · Lesetid: 11 minutter

Læringsmål: Etter denne leksjonen finner du veien på en Linux-server: du går gjennom mapper, leser og redigerer filer, ser hvor mye disk og minne som er ledig, og finner selv hjelp til en kommando.

Nøkkelbegreper: shell, prompt, mappe og sti, absolutt og relativ sti, /etc, /var/log, /home, ls -l, cd, cat, less, nano, man, --help, tab-fullføring, uname, df, free, uptime, pipe, grep

Shellet og prompten

Når du har logget inn, snakker du med shellet: programmet som leser og kjører kommandoene dine. På Debian og Ubuntu er det som regel bash. Til venstre for markøren står prompten:

anna@web1:~$
root@web1:~#

Den forteller deg tre ting: hvem du er (anna eller root), hvilken server du er på (web1) og hvilken mappe du står i (~ er din egen hjemmemappe). Det siste tegnet er viktig: $ betyr en vanlig bruker, # betyr root. Ser du #, kjører hver kommando med alle rettigheter. Skriv rolig der.

Mapper og stier

Alt på Linux henger på ett tre som starter i / (rotmappen, ikke å forveksle med brukeren root). Noen mapper møter du igjen og igjen i dette kurset:

MappeHva den inneholder
/etcKonfigurasjon: SSH (/etc/ssh), webserver (/etc/nginx), brukere (/etc/passwd)
/var/logLoggfiler (i tillegg til journalen, leksjon 6.2)
/var/libData fra programmer, for eksempel databaser og Docker
/homeHjemmemapper for vanlige brukere, som /home/anna
/rootHjemmemappen til root
/usrInstallerte programmer og biblioteker
/tmpMidlertidige filer, ryddes jevnlig
/srv eller /var/wwwVanlig plassering for nettsteder og tjenester

En absolutt sti starter i /, for eksempel /etc/ssh/sshd_config. En relativ sti starter der du står nå: står du i /etc, er ssh/sshd_config den samme filen. .. er mappen over, . er gjeldende mappe.

anna@web1:~$ pwd
/home/anna
anna@web1:~$ cd /etc/ssh
anna@web1:/etc/ssh$ ls
moduli  ssh_config  ssh_config.d  sshd_config  sshd_config.d  ssh_host_ed25519_key  ssh_host_ed25519_key.pub ...
anna@web1:/etc/ssh$ cd ..
anna@web1:/etc$ cd
anna@web1:~$

cd uten noe etter tar deg tilbake til hjemmemappen din.

Se på filer

ls -l viser mer enn bare navn:

anna@web1:/etc/ssh$ ls -l sshd_config ssh_host_ed25519_key ssh_host_ed25519_key.pub
-rw-r--r-- 1 root root 3248 Aug 12 10:01 sshd_config
-rw------- 1 root root  399 Nov  2 14:20 ssh_host_ed25519_key
-rw-r--r-- 1 root root   91 Nov  2 14:20 ssh_host_ed25519_key.pub

Fra venstre mot høyre: rettighetene, antall lenker, eier, gruppe, størrelse i byte, dato og navn. Legg merke til forskjellen: den hemmelige vertsnøkkelen (-rw-------) kan bare root lese, den offentlige (-rw-r--r--) kan alle lese. I leksjon 3.1 lærer du å lese disse rettighetene nøyaktig. ls -la viser også skjulte filer: navn som begynner med punktum, som .ssh.

For å lese innholdet:

  • cat bestand: hele filen på en gang, praktisk for korte filer;
  • less bestand: bla med piltastene og mellomrom, søk med /woord, avslutt med q;
  • head -n 20 bestand og tail -n 20 bestand: de første eller siste linjene; tail -f fortsetter å følge med når nye linjer kommer til.

Rediger en fil med nano

Konfigurasjon endrer du i en teksteditor. nano er den enkleste:

root@web1:~# nano /etc/hosts

Nederst står hurtigtastene; ^ betyr Ctrl. Lagre med Ctrl+O og Enter, avslutt med Ctrl+X, søk med Ctrl+W. Jobber du allerede med vim, kan du bruke den; vim er ikke alltid fullt tilgjengelig på en minimal installasjon.

Tre vaner som sparer deg for mye trøbbel senere:

  1. Lag en kopi først: cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.
  2. Test konfigurasjonen før du starter en tjeneste på nytt. Mange programmer har en egen kommando for det: sshd -t, nginx -t (leksjon 2.2 og 7.2).
  3. Endre én ting om gangen, så du vet hva som forårsaket en feil.

Hvordan står det til med serveren din?

Noen kommandoer du bruker i enhver situasjon:

anna@web1:~$ uname -a
Linux web1 6.12.0-... #1 SMP ... x86_64 GNU/Linux
anna@web1:~$ uptime
 10:12:44 up 3 days,  2:10,  1 user,  load average: 0.08, 0.05, 0.01
anna@web1:~$ df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        40G  3.1G   35G   9% /
anna@web1:~$ free -h
               total        used        free      shared  buff/cache   available
Mem:           3.8Gi       412Mi       2.9Gi       1.0Mi       720Mi       3.4Gi
Swap:             0B          0B          0B
  • uname -a: hvilken kjerne som kjører.
  • uptime: hvor lenge serveren har vært på, og load average over 1, 5 og 15 minutter. Grovt sagt: en load som over tid ligger over antall prosessorkjerner, betyr at noe må vente.
  • df -h: ledig diskplass (-h er "human readable", med G og M). En full disk er en av de vanligste årsakene til at en server "plutselig" stopper.
  • free -h: minne. Se på kolonnen available, ikke free: Linux bruker ledig minne som cache (buff/cache) og gir det tilbake når et program trenger det.

Og nettverket ditt, fra leksjon 1.2: ip -brief address.

Finn hjelp

Du trenger ikke huske alle valgene. Men du må vite hvor de står:

  • man ssh åpner håndboken (manual page) for en kommando. Bla som i less, søk med /. man sshd_config beskriver hvert innstillbart ord i den filen.
  • ls --help gir en kort liste over valg for de fleste kommandoer.
  • Tab-tasten fullfører navn på kommandoer og filer. To trykk på Tab viser mulighetene. Det sparer deg for skrivefeil i lange stier.
  • Pil opp henter tidligere kommandoer; history viser alle.

På en minimal installasjon mangler håndbøkene noen ganger. På Debian og Ubuntu installerer du dem med apt install man-db (modul 4).

Pipes og grep

Du kan koble kommandoer sammen med en pipe (|): utdataene fra den ene blir inndataene til den neste. grep filtrerer ut linjer som inneholder et ord:

anna@web1:~$ grep PasswordAuthentication /etc/ssh/sshd_config
#PasswordAuthentication yes
anna@web1:~$ ls -l /etc | less

Linjer som begynner med #, er kommentarer: de gjør ingenting og viser ofte standardverdien. I leksjon 2.2 ser du hvorfor det kan være forvirrende for SSH.

Fallgruver

  • Lime inn uten å lese. Kommandoer fra internett gjør nøyaktig det som står, også når det er noe annet enn tittelen på artikkelen lover. Les hver kommando før du kjører den, særlig når du er root.
  • rm har ingen papirkurv. Borte er borte. Vær ekstra forsiktig med rm -r (en mappe med alt i) og med jokertegn som *.
  • Store bokstaver teller. /etc/SSH finnes ikke; /etc/ssh finnes.
  • Mellomrom i stier må stå i anførselstegn: cat "/srv/mijn site/index.html". Enda bedre: ikke bruk mellomrom i navn på en server.

Oppsummering

  • Prompten forteller hvem du er, hvilken server du er på og hvor du står; # betyr root.
  • Konfigurasjon ligger i /etc, logger i /var/log, data fra programmer i /var/lib, hjemmemapper i /home.
  • Les med cat, less, head og tail; rediger med nano etter å ha laget en kopi, og test konfigurasjonen før du starter på nytt.
  • df -h, free -h, uptime og ip -brief address viser hvordan det står til med serveren din.
  • Hjelp finner du i man og --help; Tab fullfører; med | og grep filtrerer du utdata.

Quiz

1. Prompten din er root@web1:/var/log#. Hva vet du nå?



2. Du står i /etc. Hvilken sti peker til samme fil som /etc/nginx/nginx.conf?



3. free -h viser free 120Mi og available 2.9Gi. Har serveren for lite minne?



4. Hva er lurest før du endrer /etc/ssh/sshd_config?



5. Hvor slår du opp hvilke innstillinger sshd_config kjenner?



Oppgave

Oppgave O1.4: Bli kjent med serveren din. Kjør kommandoene fra leksjonen på din egen server og fyll inn: distribusjon og versjon, kjerne, ledig diskplass, tilgjengelig minne, load, IPv4 og IPv6, og hvilke filer i /etc/ssh som bare root kan lese. Svar deretter på to spørsmål om det du så.

Oppgave O1.4: Bli kjent med serveren din

Denne oppgaven gjør du selv; ingen kontrollerer den. Kryss av det du har gjort, og merk oppgaven som fullført.



Avkrysningene og notatene dine blir kun i denne nettleseren; vi sender dem ikke noe sted. Er du logget inn, lagrer vi kun i Mine kurs at du har gjort oppgaven.

Les mer

Et øyeblikk …

Sett opp domenene dine

Ordne for hvert domene navnetjenerne, koblingen til hostingen din og hvem som blir innehaver.

Laster inn domenene dine…