Differences

This shows you the differences between two versions of the page.

Link to this comparison view

gsr:laboratoare:laborator-01 [2016/10/11 15:53]
alexandru.carp
gsr:laboratoare:laborator-01 [2016/10/13 20:27] (current)
alexandru.carp
Line 15: Line 15:
 </​code>​ </​code>​
  
-Paginile de manual au secțiuni. Astfel dacă dorim să accesăm pagina de manual a fișierului ''/​etc/​passwd''​ folosim comanda<​code>​+Paginile de manual au secțiuni. Pentru a vedea care este semnificatia fiecarei sectiuni, consultati comanda <​code>​$ man man</​code>​. Astfel dacă dorim să accesăm pagina de manual a fișierului ''/​etc/​passwd''​ folosim comanda<​code>​
 $ man 5 passwd $ man 5 passwd
 </​code>​ </​code>​
Line 199: Line 199:
 Folosiți comanda ''​find''​ pe ierarhia de mai sus pentru a afișa doar intrările care încep cu litera ''​a''​. Folosiți comanda ''​find''​ pe ierarhia de mai sus pentru a afișa doar intrările care încep cu litera ''​a''​.
  
 +/*
 ==== h) Scenariu de schimbare permisiuni ==== ==== h) Scenariu de schimbare permisiuni ====
  
 Le dăm o arhivă cu mai multe fișiere, o bușesc cu 777 și apoi să repare; un scenariu complet de schimbare de permisiuni și ownership; o arhivă cu DokuWiki deja configurat Le dăm o arhivă cu mai multe fișiere, o bușesc cu 777 și apoi să repare; un scenariu complet de schimbare de permisiuni și ownership; o arhivă cu DokuWiki deja configurat
 +*/
  
 ===== 03. Vim Sk1llz ===== ===== 03. Vim Sk1llz =====
Line 372: Line 374:
  
 Investigati folosind ''​netstat''​ si ''​s''​ portul pe care asculta conexiuni (afisat si la pornirea sa) si pointati browser-ul la URL-ul http://​localhost:​8000/​ pentru a putea urmari fisierele servite. Un coleg poate sa se conecteze la acest server web folosind in loc de ''​localhost''​ adresa IP a statiei voastre. Investigati folosind ''​netstat''​ si ''​s''​ portul pe care asculta conexiuni (afisat si la pornirea sa) si pointati browser-ul la URL-ul http://​localhost:​8000/​ pentru a putea urmari fisierele servite. Un coleg poate sa se conecteze la acest server web folosind in loc de ''​localhost''​ adresa IP a statiei voastre.
 +
 +/*
  
 ==== g) Obținerea unui clip de pe YouTube din Firefox ==== ==== g) Obținerea unui clip de pe YouTube din Firefox ====
Line 397: Line 401:
 pentru a porni clipul. pentru a porni clipul.
  
-===== 06. Investigarea dinamică a unui proces ===== +*/
- +
-==== a) strace ==== +
- +
-Comanda ''​strace''​ (//system call trace//) ne este utilă pentru a investiga ce apeluri de sistem efectuează o comandă dată și ce parametri folosește. +
- +
-De exemplu, dacă dorim să urmărim apelurile de sistem efectuate de comanda ''​ls''​ folosim comanda<​code>​ +
-strace ls +
-</​code>​ +
- +
-Output-ul fiind destul de vast, ne preocupă să obținem doar informații despre fișierele deschide. Pentru aceasta folosim opțiunea ''​-e''​ a comenzii ''​strace''​ cu ajutorul căreia filtrăm tipuri de operații. În cazul de față folosim comanda<​code>​ +
-strace -e file ls +
-</​code>​ +
- +
-Observăm fișierele deschise. +
- +
-Pentru a vedea diferența între comenzile ''​ls''​ și ''​ls -l''​ folosim comanda<​code>​ +
-strace -e file ls -l +
-</​code>​ +
- +
-Observăm că acum deschise și fișiere precum ''/​etc/​passwd''​ și ''/​etc/​group''​ pentru a determina username-ul și grupul aferent UID-ului și GID-ului din fișier. +
- +
-==== b) Informații despre rețea ==== +
- +
-Comanda<​code bash> +
-netstat -s +
-</​code>​ +
-afișează informații statistice despre pachetele sistemului. Ne interesează să știm de unde obține comanda respectivă informațiile. +
- +
-Rulați comanda<​code bash> +
-strace -e open netstat -s +
-</​code>​ +
-pentru a afla ce fișiere deschide comanda la rulare. +
- +
-Care fișier este citit pentru a afla informații despre pachetele primite (//packets received//​)?​ Vizualizați acel fișier (luați-o pe încercate). +
- +
-==== c) Atașarea la un proces ==== +
- +
-''​strace''​ permite investigarea unui proces aflat deja în rulare. Numim acest lucru atașarea la un proces. Putem astfel investiga apelurile de sistem efectuate de un proces aflat în rulare și diagnostica anumite probleme ale acestuia. Pentru a ne putea atașa la un proces avem nevoie de PID-ul acestuia. +
- +
-Deschideți două tab-uri de terminal (adică să aveți două deschise; dacă aveți deja unul mai deschideți încă unul). +
- +
-<note tip> +
-Pentru a deschide un tab nou de terminal în GNOME Terminal puteți folosi combinația de taste ''​Ctrl+Shift+t''​. +
-</​note>​ +
- +
-Într-unul dintre tab-uri aflați PID-ul procesului curent (a shell-ului) folosind comanda<​code>​ +
-echo $$ +
-</​code>​ +
- +
-Pentru a investiga shell-ul, din celălalt tab folosim comanda<​code>​ +
-strace -p <​PID>​ +
-</​code>​ +
-unde ''<​PID>''​ este PID-ul shell-ului determinat mai sus. +
- +
-Acum dacă în celălalt shell rulăm comenzi vom vedea ce se întâmplă în cadrul shell-ului. +
- +
-Observăm că se folosește apelul de sistem ''​clone''​ pentru a crea un nou proces, dar nu apare apelul de sistem ''​execve''​ care înlocuiește imaginea de proces. Pentru a vedea aceste apeluri de sistem trebuie să precizăm comenzii ''​strace''​ să investigheze și procesele copil folosind opțiunea ''​-f''​ (de la ''​follow children''​). Astfel, vom putea investiga folosind comanda<​code>​ +
-strace -f -p <​PID>​ +
-</​code>​ +
- +
-Dacă dorim să vedem doar operațiile cu procese și fișiere, de exemplu, vom folosi pentru investigație comanda<​code>​ +
-strace -f -e process,​file -p <​PID>​ +
-</​code>​+
  
-===== 07. Instalat, dezinstalat de pachete =====+===== 06. Instalat, dezinstalat de pachete =====
  
 Dezinstalați pachetul ''​zoo''​ instalat anterior. Folosiți opțiunea de ''​purge''​ pentru a șterge și fișierele de configurare. Dezinstalați pachetul ''​zoo''​ instalat anterior. Folosiți opțiunea de ''​purge''​ pentru a șterge și fișierele de configurare.
gsr/laboratoare/laborator-01.1476190431.txt.gz · Last modified: 2016/10/11 15:53 by alexandru.carp
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0