Preskoči na vsebino

Nastavitve piškotkov

Za vsako vrsto izberite, katere piškotke dovolite. Svojo izbiro lahko kadar koli spremenite prek povezave Nastavitve piškotkov na dnu vsake strani. Izjava o zasebnosti

Nujni

Vedno vklopljeno

Potrebni so za prijavo, shranjevanje košarice in pomnjenje Vaših izbir. Vedno so vklopljeni.

Kateri piškotki?
  • weboke_sessie, weboke_klant, weboke_remember: Vaša seja in ohranjanje prijave
  • weboke_basket: Vaša košarica
  • wkBtwIncl: prikaz cen z DDV ali brez DDV
  • wok_cookies: Vaša izbira glede piškotkov, 12 mesecev

Meri, kateri oglas vodi do obiska ali naročila, da ne plačujemo za oglase, ki ne prinesejo ničesar.

Kateri piškotki?
  • Google Ads prek Google Tag Manager (_gcl_au, _gcl_aw), do 90 dni
  • OpenAI Ads, oglasi v ChatGPT
  • wok_aff: prek katerega partnerja ste prišli k nam (partnerski program), 60 dni

4,6

Država in jezik

Vsaka država ima svojo spletno stran, s cenami in DDV za to državo.

Prikaži

Razgled po ukazni vrstici

Modul 1: Vaš prvi strežnik · Čas branja: 11 minut

Učni cilj: Po tej lekciji se boste znali znajti na strežniku Linux: premikati se po mapah, brati in urejati datoteke, videti, koliko prostora na disku in pomnilnika je prostega, ter sami poiskati pomoč za ukaz.

Ključni pojmi: lupina (shell), poziv (prompt), mapa in pot, absolutna in relativna pot, /etc, /var/log, /home, ls -l, cd, cat, less, nano, man, --help, dopolnjevanje s tipko Tab, uname, df, free, uptime, cev (pipe), grep

Lupina in poziv

Po prijavi se pogovarjate z lupino (shell): programom, ki bere in izvaja Vaše ukaze. Na Debianu in Ubuntuju je to običajno bash. Levo od kazalca je poziv (prompt):

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

Ta Vam pove tri stvari: kdo ste (anna ali root), na katerem strežniku (web1) in v kateri mapi ste (~ je Vaša domača mapa). Zadnji znak je pomemben: $ pomeni navadnega uporabnika, # pomeni root. Če vidite #, se vsak ukaz izvede z vsemi pravicami. Tam tipkajte premišljeno.

Mape in poti

Vse v Linuxu visi na enem drevesu, ki se začne pri / (korenska mapa, ki je ne smete zamenjati z uporabnikom root). Nekatere mape boste v tem tečaju srečevali znova in znova:

MapaKaj vsebuje
/etcKonfiguracijo: SSH (/etc/ssh), spletni strežnik (/etc/nginx), uporabniki (/etc/passwd)
/var/logDnevniške datoteke (poleg journala, lekcija 6.2)
/var/libPodatke programov, na primer podatkovnih baz in Dockerja
/homeDomače mape navadnih uporabnikov, na primer /home/anna
/rootDomačo mapo uporabnika root
/usrNameščene programe in knjižnice
/tmpZačasne datoteke, ki se sproti brišejo
/srv ali /var/wwwObičajno mesto za spletna mesta in storitve

Absolutna pot se začne pri /, na primer /etc/ssh/sshd_config. Relativna pot se začne tam, kjer ste trenutno: če ste v /etc, je ssh/sshd_config ista datoteka. .. je mapa nad trenutno, . pa trenutna mapa.

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 brez ničesar za njim Vas vrne v Vašo domačo mapo.

Ogled datotek

ls -l pokaže več kot samo imena:

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

Od leve proti desni: pravice, število povezav, lastnik, skupina, velikost v bajtih, datum in ime. Opazite razliko: skrivni ključ gostitelja (-rw-------) lahko bere samo root, javnega (-rw-r--r--) pa vsi. V lekciji 3.1 se boste naučili te pravice natančno brati. ls -la pokaže tudi skrite datoteke: imena, ki se začnejo s piko, na primer .ssh.

Za branje vsebine:

  • cat bestand: celotna datoteka naenkrat, priročno za kratke datoteke;
  • less bestand: listanje s puščicami in preslednico, iskanje z /woord, izhod s q;
  • head -n 20 bestand in tail -n 20 bestand: prve ali zadnje vrstice; tail -f spremlja datoteko naprej, ko se dodajajo nove vrstice.

Urejanje datoteke z nano

Konfiguracijo spreminjate v urejevalniku besedil. nano je najpreprostejši:

root@web1:~# nano /etc/hosts

Na dnu so prikazane bližnjice; ^ pomeni Ctrl. Shranjevanje je Ctrl+O in Enter, izhod Ctrl+X, iskanje Ctrl+W. Če že delate z vim, ga lahko uporabljate; vim pri minimalni namestitvi ni vedno v celoti na voljo.

Tri navade, ki Vam pozneje prihranijo veliko težav:

  1. Najprej naredite kopijo: cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.
  2. Preizkusite konfiguracijo, preden znova zaženete storitev. Mnogi programi imajo za to svoj ukaz: sshd -t, nginx -t (lekciji 2.2 in 7.2).
  3. Spremenite eno stvar naenkrat, da boste vedeli, kaj je povzročilo napako.

Kako je z Vašim strežnikom?

Nekaj ukazov, ki jih boste uporabljali v vsakem položaju:

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: katero jedro teče.
  • uptime: kako dolgo strežnik že deluje in load average (povprečna obremenitev) v zadnjih 1, 5 in 15 minutah. Približno: obremenitev, ki je dalj časa nad številom procesorskih jeder, pomeni, da se čaka.
  • df -h: prosti prostor na disku (-h pomeni "human readable", berljivo za ljudi, z G in M). Poln disk je eden najpogostejših vzrokov, da strežnik "kar tako" preneha delovati.
  • free -h: pomnilnik. Glejte stolpec available, ne free: Linux prosti pomnilnik uporablja kot predpomnilnik (buff/cache) in ga vrne, ko ga program potrebuje.

In Vaše omrežje, iz lekcije 1.2: ip -brief address.

Iskanje pomoči

Vseh možnosti si Vam ni treba zapomniti. Vedeti pa morate, kje jih najdete:

  • man ssh odpre priročnik (manual page) ukaza. Listate kot pri less, iščete z /. man sshd_config opisuje vsako nastavitev, ki jo lahko vpišete v to datoteko.
  • ls --help pri večini ukazov prikaže kratek seznam možnosti.
  • Tipka Tab dopolni imena ukazov in datotek. Dvakratni pritisk na Tab prikaže možnosti. Tako se izognete tipkarskim napakam v dolgih poteh.
  • Puščica navzgor prikliče prejšnje ukaze; history jih prikaže vse.

Pri minimalni namestitvi priročniki včasih manjkajo. Na Debianu in Ubuntuju jih namestite z apt install man-db (modul 4).

Cevi in grep

Ukaze lahko povežete s cevjo (pipe, |): izhod enega ukaza je vhod naslednjega. grep izlušči vrstice, ki vsebujejo določeno besedo:

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

Vrstice, ki se začnejo z #, so komentarji: ne naredijo ničesar in pogosto prikazujejo privzeto vrednost. V lekciji 2.2 boste videli, zakaj je to pri SSH lahko zavajajoče.

Pasti

  • Lepljenje brez branja. Ukazi z interneta naredijo natanko to, kar piše, tudi če je to nekaj drugega, kot obljublja naslov članka. Preberite vsak ukaz, preden ga izvedete, še posebej kadar ste root.
  • rm nima koša. Kar je izbrisano, je izbrisano. Bodite še posebej previdni z rm -r (mapa z vso vsebino) in z nadomestnimi znaki, kot je *.
  • Velike črke so pomembne. /etc/SSH ne obstaja; /etc/ssh pa obstaja.
  • Presledki v poteh morajo biti v narekovajih: cat "/srv/mijn site/index.html". Še bolje: na strežniku v imenih ne uporabljajte presledkov.

Povzetek

  • Poziv pove, kdo ste, na katerem strežniku in kje; # pomeni root.
  • Konfiguracija je v /etc, dnevniki v /var/log, podatki programov v /var/lib, domače mape v /home.
  • Berete z cat, less, head in tail; urejate z nano, po izdelavi kopije, in konfiguracijo preizkusite, preden storitev znova zaženete.
  • df -h, free -h, uptime in ip -brief address pokažejo, kako je z Vašim strežnikom.
  • Pomoč najdete v man in --help; Tab dopolnjuje; s | in grep filtrirate izhod.

Kviz

1. Vaš poziv je root@web1:/var/log#. Kaj zdaj veste?



2. Ste v /etc. Katera pot kaže na isto datoteko kot /etc/nginx/nginx.conf?



3. free -h prikaže free 120Mi in available 2.9Gi. Ali ima strežnik premalo pomnilnika?



4. Kaj je najpametneje storiti, preden spremenite /etc/ssh/sshd_config?



5. Kje poiščete, katere nastavitve pozna sshd_config?



Naloga

Naloga O1.4: Spoznajte svoj strežnik. Ukaze iz lekcije izvedite na svojem strežniku in izpolnite: distribucijo in različico, jedro, prosti prostor na disku, razpoložljivi pomnilnik, obremenitev (load), IPv4 in IPv6 ter katere datoteke v /etc/ssh lahko bere samo root. Nato odgovorite na dve vprašanji o tem, kar ste videli.

Naloga O1.4: Spoznajte svoj strežnik

To nalogo opravite sami; nihče je ne pregleda. Odkljukajte, kar ste naredili, in nalogo označite kot opravljeno.



Vaše kljukice in zapiski ostanejo samo v tem brskalniku, nikamor jih ne pošiljamo. Če ste prijavljeni, v Moji tečaji shranimo samo podatek, da ste nalogo opravili.

Za nadaljnje branje

Trenutek…

Nastavite svoje domene

Za vsako domeno uredite imenske strežnike, povezavo z gostovanjem in kdo bo imetnik.

Nalaganje Vaših domen…