Hoppa till innehållet

Cookieinställningar

Välj vilka typer av cookies du tillåter. Du kan alltid ändra ditt val via Cookieinställningar längst ned på varje sida. Integritetspolicy

Nödvändiga

Alltid på

Behövs för att logga in, spara din varukorg och komma ihåg dina val. De är alltid på.

Vilka cookies?
  • weboke_sessie, weboke_klant, weboke_remember: din session och att du förblir inloggad
  • weboke_basket: din varukorg
  • wkBtwIncl: visa priser med eller utan moms
  • wok_cookies: ditt cookieval, 12 månader

Mäter vilken annons som leder till ett besök eller en beställning, så att vi inte betalar för annonser som inte ger något.

Vilka cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), upp till 90 dagar
  • OpenAI Ads, annonser i ChatGPT
  • wok_aff: via vilken partner du kom till oss (affiliateprogram), 60 dagar

4,6

Land och språk

Varje land har en egen webbplats med landets priser och moms.

Visa

Titta runt på kommandoraden

Modul 1: Din första server · Lästid: 11 minuter

Lärandemål: Efter den här lektionen hittar du på en Linux-server: du går mellan mappar, läser och redigerar filer, ser hur mycket disk och minne som är ledigt och hittar själv hjälp för ett kommando.

Nyckelbegrepp: shell, prompt, mapp och sökväg, absolut och relativ sökväg, /etc, /var/log, /home, ls -l, cd, cat, less, nano, man, --help, tabbkomplettering, uname, df, free, uptime, pipe, grep

Skalet och prompten

När du har loggat in pratar du med skalet (shell): programmet som läser och kör dina kommandon. På Debian och Ubuntu är det oftast bash. Till vänster om markören står prompten:

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

Den berättar tre saker: vem du är (anna eller root), på vilken server (web1) och i vilken mapp du står (~ är din egen hemmapp). Det sista tecknet är viktigt: $ betyder en vanlig användare, # betyder root. Ser du # körs varje kommando med alla rättigheter. Skriv lugnt där.

Mappar och sökvägar

Allt i Linux hänger i ett enda träd som börjar vid / (rotmappen, inte att förväxla med användaren root). Några mappar stöter du på hela tiden i den här kursen:

MappVad som finns där
/etcKonfiguration: SSH (/etc/ssh), webbserver (/etc/nginx), användare (/etc/passwd)
/var/logLoggfiler (utöver journalen, lektion 6.2)
/var/libData från program, till exempel databaser och Docker
/homeHemmappar för vanliga användare, som /home/anna
/rootHemmapp för root
/usrInstallerade program och bibliotek
/tmpTillfälliga filer, rensas bort
/srv eller /var/wwwVanlig plats för webbplatser och tjänster

En absolut sökväg börjar vid /, till exempel /etc/ssh/sshd_config. En relativ sökväg börjar där du står just nu: står du i /etc är ssh/sshd_config samma fil. .. är mappen ovanför, . den aktuella mappen.

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 utan något efter tar dig tillbaka till din hemmapp.

Titta på filer

ls -l visar mer än bara namn:

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

Från vänster till höger: rättigheterna, antalet länkar, ägare, grupp, storlek i byte, datum och namn. Se skillnaden: den hemliga värdnyckeln (-rw-------) får bara root läsa, den publika (-rw-r--r--) får alla läsa. I lektion 3.1 lär du dig läsa de här rättigheterna exakt. ls -la visar även dolda filer: namn som börjar med en punkt, som .ssh.

För att läsa innehållet:

  • cat bestand: hela filen på en gång, praktiskt för korta filer;
  • less bestand: bläddra med piltangenterna och mellanslag, sök med /woord, avsluta med q;
  • head -n 20 bestand och tail -n 20 bestand: de första eller sista raderna; tail -f fortsätter att visa nya rader när de dyker upp.

Redigera en fil med nano

Konfiguration ändrar du i en textredigerare. nano är den enklaste:

root@web1:~# nano /etc/hosts

Längst ner står kortkommandona; ^ betyder Ctrl. Spara gör du med Ctrl+O och Enter, avsluta med Ctrl+X, sök med Ctrl+W. Jobbar du redan med vim går det bra att använda den; vim är inte alltid fullständigt installerad på en minimal installation.

Tre vanor som sparar dig mycket elände senare:

  1. Gör först en kopia: cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.
  2. Testa konfigurationen innan du startar om en tjänst. Många program har ett eget kommando för det: sshd -t, nginx -t (lektion 2.2 och 7.2).
  3. Ändra en sak i taget, så att du vet vad som orsakade ett fel.

Hur mår din server?

Några kommandon som du använder i alla lägen:

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: vilken kärna som körs.
  • uptime: hur länge servern har varit igång och load average över 1, 5 och 15 minuter. Grovt sagt: en last som länge ligger över antalet processorkärnor betyder att saker får vänta.
  • df -h: ledigt diskutrymme (-h står för "human readable", med G och M). En full disk är en av de vanligaste orsakerna till att en server "bara" stannar.
  • free -h: minne. Titta på kolumnen available, inte free: Linux använder ledigt minne som cache (buff/cache) och lämnar tillbaka det när ett program behöver det.

Och ditt nätverk, från lektion 1.2: ip -brief address.

Hitta hjälp

Du behöver inte komma ihåg alla flaggor. Men du behöver veta var de finns:

  • man ssh öppnar manualen (manual page) för ett kommando. Bläddra som i less, sök med /. man sshd_config beskriver varje inställning som går att använda i den filen.
  • ls --help ger en kort lista med flaggor för de flesta kommandon.
  • Tabbtangenten kompletterar namn på kommandon och filer. Två tryck på Tab visar alternativen. Det sparar stavfel i långa sökvägar.
  • Pil upp hämtar tidigare kommandon; history visar alla.

På en minimal installation saknas ibland manualerna. På Debian och Ubuntu installerar du dem med apt install man-db (modul 4).

Pipes och grep

Du kan koppla ihop kommandon med en pipe (|): utdata från det ena blir indata till nästa. grep filtrerar fram rader som innehåller ett ord:

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

Rader som börjar med # är kommentarer: de gör ingenting och visar ofta standardvärdet. I lektion 2.2 ser du varför det kan vara förvirrande för SSH.

Fallgropar

  • Klistra in utan att läsa. Kommandon från internet gör exakt det som står, även om det är något annat än artikelns rubrik lovar. Läs varje kommando innan du kör det, särskilt om du är root.
  • rm har ingen papperskorg. Borta är borta. Var extra försiktig med rm -r (en mapp med allt innehåll) och med jokertecken som *.
  • Versaler spelar roll. /etc/SSH finns inte; /etc/ssh finns.
  • Mellanslag i sökvägar måste stå inom citattecken: cat "/srv/mijn site/index.html". Ännu bättre: använd inga mellanslag i namn på en server.

Sammanfattning

  • Prompten berättar vem du är, på vilken server och var; # betyder root.
  • Konfiguration finns i /etc, loggar i /var/log, programdata i /var/lib, hemmappar i /home.
  • Läs med cat, less, head och tail; redigera med nano efter att ha gjort en kopia, och testa konfigurationen innan du startar om.
  • df -h, free -h, uptime och ip -brief address visar hur din server mår.
  • Hjälp finns i man och --help; Tab kompletterar; med | och grep filtrerar du utdata.

Quiz

1. Din prompt är root@web1:/var/log#. Vad vet du nu?



2. Du står i /etc. Vilken sökväg pekar på samma fil som /etc/nginx/nginx.conf?



3. free -h visar free 120Mi och available 2.9Gi. Har servern för lite minne?



4. Vad är klokast innan du ändrar /etc/ssh/sshd_config?



5. Var slår du upp vilka inställningar sshd_config känner till?



Uppgift

Uppgift O1.4: Lär känna din server. Kör kommandona från lektionen på din egen server och fyll i: distribution och version, kärna, ledigt diskutrymme, tillgängligt minne, last, IPv4 och IPv6, samt vilka filer i /etc/ssh som bara root kan läsa. Svara sedan på två frågor om det du såg.

Uppgift O1.4: Lär känna din server

Den här uppgiften gör du själv; ingen kontrollerar den. Bocka av vad du har gjort och markera uppgiften som klar.



Dina bockar och anteckningar sparas bara i den här webbläsaren; vi skickar dem ingenstans. Är du inloggad sparar vi i Mina kurser bara att du har gjort uppgiften.

Läs mer

Ett ögonblick…

Ställ in dina domäner

Ställ in namnservrar, koppling till ditt webbhotell och vem som blir innehavare för varje domän.

Hämtar dina domäner…