Salt la conținut

Setări cookie-uri

Alegeți pentru fiecare tip ce cookie-uri permiteți. Puteți modifica oricând alegerea prin Setări cookie-uri, în partea de jos a fiecărei pagini. Declarație de confidențialitate

Necesare

Mereu active

Necesare pentru autentificare, pentru păstrarea coșului și pentru a vă reține alegerile. Acestea sunt mereu active.

Ce cookie-uri?
  • weboke_sessie, weboke_klant, weboke_remember: sesiunea și menținerea autentificării
  • weboke_basket: coșul de cumpărături
  • wkBtwIncl: afișarea prețurilor cu sau fără TVA
  • wok_cookies: alegerea privind cookie-urile, 12 luni

Măsoară ce reclamă duce la o vizită sau o comandă, ca să nu plătim pentru reclame care nu aduc nimic.

Ce cookie-uri?
  • Google Ads prin Google Tag Manager (_gcl_au, _gcl_aw), până la 90 de zile
  • OpenAI Ads, reclame în ChatGPT
  • wok_aff: prin ce partener ați ajuns la noi (program de afiliere), 60 de zile

4,6

Țară și limbă

Fiecare țară are propriul site, cu prețurile și TVA-ul pentru țara respectivă.

Vedeți

Explorarea liniei de comandă

Modulul 1: Primul dumneavoastră server · Timp de citire: 11 minute

Obiectivul lecției: După această lecție vă puteți orienta pe un server Linux: navigați prin directoare, citiți și editați fișiere, vedeți cât spațiu pe disc și câtă memorie sunt libere și căutați singur ajutor pentru o comandă.

Noțiuni cheie: shell, prompt, director și cale, cale absolută și relativă, /etc, /var/log, /home, ls -l, cd, cat, less, nano, man, --help, completare cu Tab, uname, df, free, uptime, pipe, grep

Shell-ul și promptul

După autentificare comunicați cu shell-ul: programul care citește și execută comenzile dumneavoastră. Pe Debian și Ubuntu acesta este de obicei bash. În stânga cursorului se află promptul:

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

Acesta vă spune trei lucruri: cine sunteți (anna sau root), pe ce server (web1) și în ce director vă aflați (~ este directorul dumneavoastră personal). Ultimul caracter este important: $ înseamnă un utilizator obișnuit, # înseamnă root. Dacă vedeți #, fiecare comandă rulează cu toate drepturile. Tastați acolo cu calm.

Directoare și căi

Totul pe Linux este legat de un singur arbore care începe la / (directorul rădăcină, a nu se confunda cu utilizatorul root). Câteva directoare le veți întâlni des în acest curs:

DirectorCe conține
/etcConfigurație: SSH (/etc/ssh), server web (/etc/nginx), utilizatori (/etc/passwd)
/var/logFișiere jurnal (pe lângă journal, lecția 6.2)
/var/libDatele programelor, de exemplu baze de date și Docker
/homeDirectoarele personale ale utilizatorilor obișnuiți, cum ar fi /home/anna
/rootDirectorul personal al lui root
/usrPrograme și biblioteci instalate
/tmpFișiere temporare, se golește periodic
/srv sau /var/wwwLocul obișnuit pentru site-uri și servicii

O cale absolută începe la /, de exemplu /etc/ssh/sshd_config. O cale relativă începe de unde vă aflați acum: dacă sunteți în /etc, atunci ssh/sshd_config este același fișier. .. este directorul de deasupra, . directorul curent.

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 fără nimic după vă duce înapoi în directorul personal.

Vizualizarea fișierelor

ls -l arată mai mult decât doar nume:

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

De la stânga la dreapta: permisiunile, numărul de legături, proprietarul, grupul, dimensiunea în octeți, data și numele. Observați diferența: cheia secretă a gazdei (-rw-------) poate fi citită doar de root, cea publică (-rw-r--r--) de oricine. În lecția 3.1 învățați să citiți exact aceste permisiuni. ls -la afișează și fișierele ascunse: nume care încep cu un punct, cum ar fi .ssh.

Pentru a citi conținutul:

  • cat bestand: tot fișierul dintr-odată, util pentru fișiere scurte;
  • less bestand: răsfoiți cu săgețile și cu tasta spațiu, căutați cu /woord, ieșiți cu q;
  • head -n 20 bestand și tail -n 20 bestand: primele sau ultimele rânduri; tail -f continuă să urmărească fișierul pe măsură ce se adaugă rânduri.

Editarea unui fișier cu nano

Configurația o modificați într-un editor de text. nano este cel mai simplu:

root@web1:~# nano /etc/hosts

În partea de jos sunt afișate scurtăturile; ^ înseamnă Ctrl. Salvarea se face cu Ctrl+O și Enter, ieșirea cu Ctrl+X, căutarea cu Ctrl+W. Dacă lucrați deja cu vim, îl puteți folosi; pe o instalare minimală vim nu este întotdeauna disponibil complet.

Trei obiceiuri care vă scutesc mai târziu de multe necazuri:

  1. Faceți mai întâi o copie: cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.
  2. Testați configurația înainte de a reporni un serviciu. Multe programe au o comandă proprie pentru asta: sshd -t, nginx -t (lecțiile 2.2 și 7.2).
  3. Schimbați un singur lucru odată, ca să știți ce a cauzat o eroare.

Cum stă serverul dumneavoastră?

Câteva comenzi pe care le folosiți în orice situație:

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: ce kernel rulează.
  • uptime: de cât timp este pornit serverul și load average pe 1, 5 și 15 minute. În linii mari: o încărcare care rămâne mult timp peste numărul de nuclee ale procesorului înseamnă că se așteaptă.
  • df -h: spațiul liber pe disc (-h înseamnă "human readable", cu G și M). Un disc plin este una dintre cele mai frecvente cauze pentru care un server se oprește "pur și simplu".
  • free -h: memoria. Uitați-vă la coloana available, nu la free: Linux folosește memoria liberă drept cache (buff/cache) și o eliberează când un program are nevoie de ea.

Și rețeaua, din lecția 1.2: ip -brief address.

Găsirea ajutorului

Nu trebuie să rețineți toate opțiunile. Trebuie însă să știți unde le găsiți:

  • man ssh deschide manualul (manual page) unei comenzi. Răsfoiți ca la less, căutați cu /. man sshd_config descrie fiecare cuvânt configurabil din acel fișier.
  • ls --help afișează la majoritatea comenzilor o listă scurtă de opțiuni.
  • Tasta Tab completează numele comenzilor și ale fișierelor. Apăsând de două ori Tab vedeți variantele posibile. Astfel evitați greșelile de tastare în căile lungi.
  • Săgeata în sus readuce comenzile anterioare; history le afișează pe toate.

Pe o instalare minimală manualele lipsesc uneori. Pe Debian și Ubuntu le instalați cu apt install man-db (modulul 4).

Pipe-uri și grep

Puteți lega comenzile între ele cu un pipe (|): ieșirea uneia devine intrarea următoarei. grep filtrează rândurile care conțin un cuvânt:

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

Rândurile care încep cu # sunt comentarii: nu au niciun efect și arată adesea valoarea implicită. În lecția 2.2 veți vedea de ce acest lucru poate crea confuzie la SSH.

Capcane

  • Lipirea fără citire. Comenzile de pe internet fac exact ce scrie în ele, chiar dacă asta diferă de ce promite titlul articolului. Citiți fiecare comandă înainte de a o executa, mai ales când sunteți root.
  • rm nu are coș de gunoi. Ce s-a șters, s-a dus. Fiți foarte atent cu rm -r (un director cu tot conținutul) și cu caracterele wildcard precum *.
  • Majusculele contează. /etc/SSH nu există; /etc/ssh există.
  • Spațiile din căi trebuie puse între ghilimele: cat "/srv/mijn site/index.html". Mai bine: nu folosiți spații în nume pe un server.

Rezumat

  • Promptul vă spune cine sunteți, pe ce server și unde; # înseamnă root.
  • Configurația se află în /etc, jurnalele în /var/log, datele programelor în /var/lib, directoarele personale în /home.
  • Citiți cu cat, less, head și tail; editați cu nano, după ce ați făcut o copie, și testați configurația înainte de a reporni.
  • df -h, free -h, uptime și ip -brief address arată cum stă serverul dumneavoastră.
  • Ajutorul se găsește în man și --help; Tab completează; cu | și grep filtrați ieșirea.

Test (quiz)

1. Promptul dumneavoastră este root@web1:/var/log#. Ce știți acum?



2. Vă aflați în /etc. Ce cale indică același fișier ca /etc/nginx/nginx.conf?



3. free -h afișează free 120Mi și available 2.9Gi. Are serverul prea puțină memorie?



4. Ce este cel mai înțelept să faceți înainte de a modifica /etc/ssh/sshd_config?



5. Unde căutați ce setări cunoaște sshd_config?



Exercițiu

Exercițiul O1.4: Cunoașteți-vă serverul. Executați comenzile din lecție pe propriul server și completați: distribuția și versiunea, kernelul, spațiul liber pe disc, memoria disponibilă, încărcarea (load), IPv4 și IPv6 și ce fișiere din /etc/ssh pot fi citite doar de root. Apoi răspundeți la două întrebări despre ce ați văzut.

Exercițiul O1.4: Cunoașteți-vă serverul

Acest exercițiu îl faceți singur; nimeni nu îl verifică. Bifați ce ați făcut și marcați exercițiul ca finalizat.



Bifele și notițele dumneavoastră rămân doar în acest browser; nu le trimitem nicăieri. Dacă sunteți autentificat, păstrăm în Cursurile mele doar faptul că ați finalizat exercițiul.

Lecturi suplimentare

Un moment…

Configurați domeniile

Stabiliți pentru fiecare domeniu nameserverele, legătura cu hostingul și cine devine titularul.

Se încarcă domeniile…