Gå direkte til indholdet

Cookieindstillinger

Vælg for hver type, hvilke cookies du tillader. Du kan altid ændre dit valg via Cookieindstillinger nederst på hver side. Privatlivspolitik

Nødvendige

Altid slået til

Nødvendige for at logge ind, gemme din kurv og huske dine valg. De er altid slået til.

Hvilke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: din session og at forblive logget ind
  • weboke_basket: din kurv
  • wkBtwIncl: vise priser med eller uden moms
  • wok_cookies: dit cookievalg, 12 måneder

Måler, hvilken annonce der fører til et besøg eller en bestilling, så vi ikke betaler for annoncer, der ikke virker.

Hvilke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), op til 90 dage
  • OpenAI Ads, annoncer i ChatGPT
  • wok_aff: hvilken partner der henviste dig til os (affiliateprogram), 60 dage

4,6

Land og sprog

Hvert land har sin egen side med landets priser og moms.

Se

Se dig om på kommandolinjen

Modul 1: Din første server · Læsetid: 11 minutter

Læringsmål: Efter denne lektion kan du finde rundt på en Linux-server: gå gennem mapper, læse og redigere filer, se hvor meget disk og hukommelse der er ledigt, og selv slå hjælp op til en kommando.

Centrale begreber: shell, prompt, mappe og sti, absolut og relativ sti, /etc, /var/log, /home, ls -l, cd, cat, less, nano, man, --help, tab-fuldførelse, uname, df, free, uptime, pipe, grep

Shellen og prompten

Når du har logget ind, taler du med shellen: programmet, der læser og udfører dine kommandoer. På Debian og Ubuntu er det som regel bash. Til venstre for markøren står prompten:

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

Den fortæller tre ting: hvem du er (anna eller root), på hvilken server (web1) og i hvilken mappe du står (~ er din egen hjemmemappe). Det sidste tegn er vigtigt: $ betyder en almindelig bruger, # betyder root. Ser du #, kører hver kommando med alle rettigheder. Skriv roligt dér.

Mapper og stier

Alt på Linux hænger på ét træ, der begynder ved / (rodmappen, ikke at forveksle med brugeren root). Nogle mapper møder du igen og igen i dette kursus:

MappeHvad den indeholder
/etcKonfiguration: SSH (/etc/ssh), webserver (/etc/nginx), brugere (/etc/passwd)
/var/logLogfiler (ud over journalen, lektion 6.2)
/var/libData fra programmer, for eksempel databaser og Docker
/homeHjemmemapper for almindelige brugere, som /home/anna
/rootHjemmemappe for root
/usrInstallerede programmer og biblioteker
/tmpMidlertidige filer, bliver ryddet op
/srv eller /var/wwwAlmindeligt sted til websites og tjenester

En absolut sti begynder ved /, for eksempel /etc/ssh/sshd_config. En relativ sti begynder, hvor du står nu: står du i /etc, er ssh/sshd_config den samme fil. .. er mappen ovenover, . den aktuelle 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 uden noget bagefter bringer dig tilbage til din hjemmemappe.

Se på filer

ls -l viser mere end bare navne:

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 mod højre: rettighederne, antal links, ejer, gruppe, størrelse i bytes, dato og navn. Læg mærke til forskellen: den hemmelige host key (-rw-------) må kun root læse, den offentlige (-rw-r--r--) alle. I lektion 3.1 lærer du at læse disse rettigheder præcist. ls -la viser også skjulte filer: navne, der begynder med et punktum, som .ssh.

For at læse indholdet:

  • cat bestand: hele filen på én gang, praktisk til korte filer;
  • less bestand: blad med piletasterne og mellemrum, søg med /woord, stop med q;
  • head -n 20 bestand og tail -n 20 bestand: de første eller sidste linjer; tail -f bliver ved med at følge med, når der kommer linjer til.

Redigér en fil med nano

Konfiguration retter du i en teksteditor. nano er den enkleste:

root@web1:~# nano /etc/hosts

Nederst står genvejstasterne; ^ betyder Ctrl. Gem med Ctrl+O og Enter, afslut med Ctrl+X, søg med Ctrl+W. Arbejder du allerede med vim, må du gerne bruge den; vim er ikke altid fuldt klar på en minimal installation.

Tre vaner, der sparer dig for mange problemer senere:

  1. Lav først en kopi: cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.
  2. Test konfigurationen, før du genstarter en tjeneste. Mange programmer har deres egen kommando til det: sshd -t, nginx -t (lektion 2.2 og 7.2).
  3. Ændr én ting ad gangen, så du ved, hvad der forårsagede en fejl.

Hvordan har din server det?

Nogle kommandoer, du bruger i enhver situation:

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 kernel der kører.
  • uptime: hvor længe serveren har været tændt, og load average over 1, 5 og 15 minutter. Groft sagt: en load, der i længere tid ligger over antallet af processorkerner, betyder, at der ventes.
  • df -h: ledig diskplads (-h er "human readable", med G og M). En fuld disk er en af de hyppigste årsager til, at en server "bare" stopper.
  • free -h: hukommelse. Kig på kolonnen available, ikke free: Linux bruger ledig hukommelse som cache (buff/cache) og giver den tilbage, når et program har brug for den.

Og dit netværk, fra lektion 1.2: ip -brief address.

Find hjælp

Du behøver ikke huske alle muligheder. Men du skal vide, hvor de står:

  • man ssh åbner manualen (manual page) for en kommando. Blad som i less, søg med /. man sshd_config beskriver hvert indstillingsord i den fil.
  • ls --help giver ved de fleste kommandoer en kort liste over muligheder.
  • Tab-tasten fuldfører navne på kommandoer og filer. To gange Tab viser mulighederne. Det sparer slåfejl i lange stier.
  • Pil op henter tidligere kommandoer frem; history viser dem alle.

På en minimal installation mangler manualerne nogle gange. På Debian og Ubuntu installerer du dem med apt install man-db (modul 4).

Pipes og grep

Kommandoer kan du kæde sammen med en pipe (|): output fra den ene er input til den næste. grep filtrerer linjer, der indeholder et ord:

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

Linjer, der begynder med #, er kommentarer: de gør ingenting og viser ofte standardværdien. I lektion 2.2 ser du, hvorfor det kan være forvirrende ved SSH.

Faldgruber

  • Indsæt uden at læse. Kommandoer fra internettet gør præcis det, der står, også selvom det er noget andet end det, artiklens titel lover. Læs hver kommando, før du kører den, og især når du er root.
  • rm har ingen papirkurv. Væk er væk. Vær ekstra forsigtig med rm -r (en mappe med alt indhold) og med jokertegn som *.
  • Store bogstaver tæller. /etc/SSH findes ikke; /etc/ssh gør.
  • Mellemrum i stier skal stå i anførselstegn: cat "/srv/mijn site/index.html". Bedre: brug ikke mellemrum i navne på en server.

Opsummering

  • Prompten fortæller, hvem du er, på hvilken server og hvor; # betyder root.
  • Konfiguration ligger i /etc, logs i /var/log, data fra programmer i /var/lib, hjemmemapper i /home.
  • Læs med cat, less, head og tail; redigér med nano, efter en kopi, og test konfigurationen, før du genstarter.
  • df -h, free -h, uptime og ip -brief address viser, hvordan din server har det.
  • Hjælp finder du i man og --help; Tab fuldfører; med | og grep filtrerer du output.

Quiz

1. Din prompt er root@web1:/var/log#. Hvad ved du nu?



2. Du står i /etc. Hvilken sti peger på den samme fil som /etc/nginx/nginx.conf?



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



4. Hvad er klogest, før du ændrer /etc/ssh/sshd_config?



5. Hvor slår du op, hvilke indstillinger sshd_config kender?



Opgave

Opgave O1.4: Lær din server at kende. Kør kommandoerne fra lektionen på din egen server, og udfyld: distribution og version, kernel, ledig diskplads, tilgængelig hukommelse, load, IPv4 og IPv6, og hvilke filer i /etc/ssh kun root kan læse. Besvar derefter to spørgsmål om det, du så.

Opgave O1.4: Lær din server at kende

Denne opgave laver du selv; ingen tjekker den. Afkryds hvad du har gjort, og markér opgaven som udført.



Dine afkrydsninger og noter forbliver kun i denne browser; vi sender dem ingen steder hen. Er du logget ind, gemmer vi kun i Mine kurser, at du har udført opgaven.

Læs mere

Et øjeblik…

Opsæt dine domæner

Angiv for hvert domæne navneserverne, tilknytningen til din hosting, og hvem der bliver ejer.

Indlæser dine domæner…