Prejsť na obsah

Nastavenia súborov cookie

Vyberte, aké druhy súborov cookie povolíte. Svoj výber môžete kedykoľvek zmeniť cez Nastavenia súborov cookie v dolnej časti každej stránky. Vyhlásenie o ochrane osobných údajov

Nevyhnutné

Vždy zapnuté

Potrebné na prihlásenie, uchovanie košíka a zapamätanie vašich volieb. Sú vždy zapnuté.

Ktoré súbory cookie?
  • weboke_sessie, weboke_klant, weboke_remember: vaša relácia a trvalé prihlásenie
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazovanie cien s DPH alebo bez DPH
  • wok_cookies: váš výber súborov cookie, 12 mesiacov

Merajú, ktorá reklama vedie k návšteve alebo objednávke, aby sme neplatili za reklamy, ktoré nič neprinášajú.

Ktoré súbory cookie?
  • Google Ads cez Google Tag Manager (_gcl_au, _gcl_aw), najviac 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: ktorý partner vás k nám odporučil (partnerský program), 60 dní

4,6

Krajina a jazyk

Každá krajina má vlastný web s cenami a DPH danej krajiny.

Zobraziť

Prehľad v príkazovom riadku

Modul 1: Váš prvý server · Čas čítania: 11 minút

Cieľ lekcie: Po tejto lekcii sa dokážete zorientovať na Linux serveri: prechádzať priečinkami, čítať a upravovať súbory, zistiť, koľko miesta na disku a pamäte je voľných, a sami si vyhľadať nápovedu k príkazu.

Kľúčové pojmy: shell, prompt, priečinok a cesta, absolútna a relatívna cesta, /etc, /var/log, /home, ls -l, cd, cat, less, nano, man, --help, dopĺňanie tabulátorom, uname, df, free, uptime, pipe, grep

Shell a prompt

Po prihlásení komunikujete so shellom: programom, ktorý číta a vykonáva vaše príkazy. Na Debiane a Ubuntu je to zvyčajne bash. Naľavo od kurzora je prompt:

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

Prezrádza tri veci: kto ste (anna alebo root), na ktorom serveri (web1) a v ktorom priečinku sa nachádzate (~ je váš domovský priečinok). Dôležitý je posledný znak: $ znamená bežného používateľa, # znamená root. Ak vidíte #, každý príkaz sa vykoná so všetkými právami. Píšte tam pokojne a pozorne.

Priečinky a cesty

Všetko v Linuxe visí na jednom strome, ktorý začína v / (koreňový priečinok, nezamieňajte si ho s používateľom root). S niekoľkými priečinkami sa v tomto kurze stretnete opakovane:

PriečinokČo obsahuje
/etcKonfigurácia: SSH (/etc/ssh), webový server (/etc/nginx), používatelia (/etc/passwd)
/var/logLogy (popri journale, lekcia 6.2)
/var/libÚdaje programov, napríklad databázy a Docker
/homeDomovské priečinky bežných používateľov, napríklad /home/anna
/rootDomovský priečinok používateľa root
/usrNainštalované programy a knižnice
/tmpDočasné súbory, priebežne sa mažú
/srv alebo /var/wwwObvyklé miesto pre webové stránky a služby

Absolútna cesta začína v /, napríklad /etc/ssh/sshd_config. Relatívna cesta začína tam, kde sa práve nachádzate: ak ste v /etc, potom ssh/sshd_config je ten istý súbor. .. je nadradený priečinok, . aktuálny priečinok.

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 bez ďalšieho parametra vás vráti do domovského priečinka.

Prezeranie súborov

ls -l ukáže viac než len názvy:

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

Zľava doprava: práva, počet odkazov, vlastník, skupina, veľkosť v bajtoch, dátum a názov. Všimnite si rozdiel: tajný host key (-rw-------) smie čítať iba root, verejný (-rw-r--r--) ktokoľvek. V lekcii 3.1 sa naučíte tieto práva presne čítať. ls -la zobrazí aj skryté súbory: názvy, ktoré začínajú bodkou, napríklad .ssh.

Na čítanie obsahu:

  • cat bestand: celý súbor naraz, vhodné pre krátke súbory;
  • less bestand: listovanie šípkami a medzerníkom, hľadanie pomocou /woord, ukončenie klávesom q;
  • head -n 20 bestand a tail -n 20 bestand: prvé alebo posledné riadky; tail -f sleduje súbor ďalej, keď pribúdajú riadky.

Úprava súboru v nano

Konfiguráciu upravujete v textovom editore. nano je najjednoduchší:

root@web1:~# nano /etc/hosts

V spodnej časti sú klávesové skratky; ^ znamená Ctrl. Uloženie je Ctrl+O a Enter, ukončenie Ctrl+X, hľadanie Ctrl+W. Ak už pracujete s vim, môžete ho používať; vim však pri minimálnej inštalácii nie je vždy k dispozícii v plnej verzii.

Tri návyky, ktoré vám neskôr ušetria veľa trápenia:

  1. Najprv si urobte kópiu: cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.
  2. Otestujte konfiguráciu pred reštartom služby. Mnohé programy na to majú vlastný príkaz: sshd -t, nginx -t (lekcia 2.2 a 7.2).
  3. Meňte vždy len jednu vec, aby ste vedeli, čo spôsobilo chybu.

V akom stave je váš server?

Niekoľko príkazov, ktoré využijete v každej situácii:

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: ktorý kernel beží.
  • uptime: ako dlho server beží a load average za 1, 5 a 15 minút. Zhruba platí: load, ktorý dlhodobo prevyšuje počet jadier procesora, znamená, že sa čaká.
  • df -h: voľné miesto na disku (-h znamená "human readable", s G a M). Plný disk je jednou z najčastejších príčin, prečo server "len tak" prestane fungovať.
  • free -h: pamäť. Pozerajte sa na stĺpec available, nie free: Linux využíva voľnú pamäť ako cache (buff/cache) a vráti ju, keď ju niektorý program potrebuje.

A vaša sieť, z lekcie 1.2: ip -brief address.

Hľadanie nápovedy

Nemusíte si pamätať všetky voľby. Mali by ste však vedieť, kde ich nájdete:

  • man ssh otvorí príručku (manual page) k príkazu. Listuje sa ako v less, hľadá sa pomocou /. man sshd_config opisuje každé nastaviteľné slovo v tomto súbore.
  • ls --help pri väčšine príkazov zobrazí krátky zoznam volieb.
  • Kláves Tab dopĺňa názvy príkazov a súborov. Dvojité stlačenie Tab zobrazí možnosti. Ušetrí to preklepy v dlhých cestách.
  • Šípka nahor vráti predchádzajúce príkazy; history zobrazí všetky.

Pri minimálnej inštalácii niekedy príručky chýbajú. Na Debiane a Ubuntu ich nainštalujete príkazom apt install man-db (modul 4).

Pipe a grep

Príkazy môžete spájať pomocou pipe (|): výstup jedného príkazu je vstupom nasledujúceho. grep vyfiltruje riadky, ktoré obsahujú zadané slovo:

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

Riadky, ktoré začínajú znakom #, sú komentáre: nič nerobia a často ukazujú predvolenú hodnotu. V lekcii 2.2 uvidíte, prečo to pri SSH môže byť mätúce.

Úskalia

  • Vkladanie bez čítania. Príkazy z internetu urobia presne to, čo v nich je, aj keď je to niečo iné, než sľubuje názov článku. Každý príkaz si pred spustením prečítajte, najmä ak pracujete ako root.
  • rm nemá kôš. Čo je preč, je preč. Buďte mimoriadne opatrní s rm -r (priečinok so všetkým obsahom) a so zástupnými znakmi, napríklad *.
  • Na veľkých písmenách záleží. /etc/SSH neexistuje; /etc/ssh áno.
  • Medzery v cestách musia byť v úvodzovkách: cat "/srv/mijn site/index.html". Lepšie je na serveri v názvoch medzery vôbec nepoužívať.

Zhrnutie

  • Prompt prezrádza, kto ste, na ktorom serveri a kde sa nachádzate; # znamená root.
  • Konfigurácia je v /etc, logy v /var/log, údaje programov v /var/lib, domovské priečinky v /home.
  • Čítajte pomocou cat, less, head a tail; upravujte v nano, až po vytvorení kópie, a pred reštartom otestujte konfiguráciu.
  • df -h, free -h, uptime a ip -brief address ukazujú, v akom stave je váš server.
  • Nápoveda je v man a --help; Tab dopĺňa; pomocou | a grep filtrujete výstup.

Kvíz

1. Váš prompt je root@web1:/var/log#. Čo z toho viete?



2. Nachádzate sa v /etc. Ktorá cesta ukazuje na ten istý súbor ako /etc/nginx/nginx.conf?



3. free -h zobrazuje free 120Mi a available 2.9Gi. Má server príliš málo pamäte?



4. Čo je najrozumnejšie urobiť pred úpravou /etc/ssh/sshd_config?



5. Kde zistíte, ktoré nastavenia pozná sshd_config?



Úloha

Úloha O1.4: Spoznajte svoj server. Spustite príkazy z lekcie na svojom serveri a vyplňte: distribúciu a verziu, kernel, voľné miesto na disku, dostupnú pamäť, load, IPv4 a IPv6 a ktoré súbory v /etc/ssh smie čítať iba root. Potom odpovedzte na dve otázky o tom, čo ste videli.

Úloha O1.4: Spoznajte svoj server

Túto úlohu vykonávate sami, nikto ju nekontroluje. Odškrtnite, čo ste urobili, a označte úlohu ako splnenú.



Vaše zaškrtnutia a poznámky zostávajú iba v tomto prehliadači, nikam ich neposielame. Po prihlásení si v sekcii Moje kurzy uchovávame iba to, že ste úlohu splnili.

Ďalšie čítanie

Chvíľu strpenia…

Nastavte svoje domény

Pri každej doméne nastavte nameservery, prepojenie s hostingom a to, kto bude jej vlastníkom.

Načítavajú sa vaše domény…