Modul 1 · 1.4
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:
| Mapa | Kaj vsebuje |
|---|---|
/etc | Konfiguracijo: SSH (/etc/ssh), spletni strežnik (/etc/nginx), uporabniki (/etc/passwd) |
/var/log | Dnevniške datoteke (poleg journala, lekcija 6.2) |
/var/lib | Podatke programov, na primer podatkovnih baz in Dockerja |
/home | Domače mape navadnih uporabnikov, na primer /home/anna |
/root | Domačo mapo uporabnika root |
/usr | Nameščene programe in knjižnice |
/tmp | Začasne datoteke, ki se sproti brišejo |
/srv ali /var/www | Obič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.pubOd 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 sq;head -n 20 bestandintail -n 20 bestand: prve ali zadnje vrstice;tail -fspremlja datoteko naprej, ko se dodajajo nove vrstice.
Urejanje datoteke z nano
Konfiguracijo spreminjate v urejevalniku besedil. nano je najpreprostejši:
root@web1:~# nano /etc/hostsNa 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:
- Najprej naredite kopijo:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak. - Preizkusite konfiguracijo, preden znova zaženete storitev. Mnogi programi imajo za to svoj ukaz:
sshd -t,nginx -t(lekciji 2.2 in 7.2). - 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 0Buname -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 (-hpomeni "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 stolpecavailable, nefree: 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 sshodpre priročnik (manual page) ukaza. Listate kot priless, iščete z/.man sshd_configopisuje vsako nastavitev, ki jo lahko vpišete v to datoteko.ls --helppri 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;
historyjih 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 | lessVrstice, 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.
rmnima koša. Kar je izbrisano, je izbrisano. Bodite še posebej previdni zrm -r(mapa z vso vsebino) in z nadomestnimi znaki, kot je*.- Velike črke so pomembne.
/etc/SSHne obstaja;/etc/sshpa 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,headintail; urejate znano, po izdelavi kopije, in konfiguracijo preizkusite, preden storitev znova zaženete. df -h,free -h,uptimeinip -brief addresspokažejo, kako je z Vašim strežnikom.- Pomoč najdete v
manin--help; Tab dopolnjuje; s|ingrepfiltrirate izhod.
Kviz
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.
available upošteva tudi predpomnilnik, ki ga Linux sprosti. Datoteka .pub je javni del, ki ga vidi vsak odjemalec; datoteka brez .pub je skrivna (600, root), saj se lahko kdor koli, ki jo ima, predstavlja kot Vaš strežnik.
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
- Povečanje diskovnega prostora Vašega VPS-ja
- SSH-dostop in Terminal v DirectAdmin: kateri paketi in kako se prijavite
- Debian Reference, 1. poglavje (vodnik po ukazni vrstici): https://www.debian.org/doc/manuals/debian-reference/ch01.en.html
- Filesystem Hierarchy Standard 3.0: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html
- Prvi ukazi na Vašem VPS: raziskovanje ukazne vrstice
- VPS: od prve prijave do varnega strežnika 1.4: Konzola: Vaš VPS v brskalniku
