This shows you the differences between two versions of the page.
uso:teme:tema-3-evil-hidden-page [2017/11/23 14:47] dennis.plosceanu |
uso:teme:tema-3-evil-hidden-page [2017/11/23 20:43] (current) dennis.plosceanu |
||
---|---|---|---|
Line 74: | Line 74: | ||
* **[2p]** Creați o imagine a containerului ''dimension-c137'' cu numele ''dimension-c137/ubuntu''. **Hint**: ''docker commit'' | * **[2p]** Creați o imagine a containerului ''dimension-c137'' cu numele ''dimension-c137/ubuntu''. **Hint**: ''docker commit'' | ||
- | ==== Task 02 (25p) ==== | + | ==== Task 02 (15p) ==== |
Checkerul va genera la prima sa rulare 3 containere care folosesc imaginea creată la Task 1: | Checkerul va genera la prima sa rulare 3 containere care folosesc imaginea creată la Task 1: | ||
Line 86: | Line 86: | ||
* **[5p]** Configurați în mod static temporar, pe interfața ''eth1'' a containerului ''rick'', a 11-a adresă asignabilă din rețeaua ''192.168.137.0/24''. | * **[5p]** Configurați în mod static temporar, pe interfața ''eth1'' a containerului ''rick'', a 11-a adresă asignabilă din rețeaua ''192.168.137.0/24''. | ||
* **[5p]** Configurați în mod static temporar, pe interfeța ''eth1'' a containerului ''morty'', ultima adresă asignabilă din rețeaua ''192.168.137.0/24''. Testați conectivitatea între cele 2 containere prin intefețele ''eth1'' folosind comanda ''ping''. | * **[5p]** Configurați în mod static temporar, pe interfeța ''eth1'' a containerului ''morty'', ultima adresă asignabilă din rețeaua ''192.168.137.0/24''. Testați conectivitatea între cele 2 containere prin intefețele ''eth1'' folosind comanda ''ping''. | ||
- | * **[5p]** Configurați cele 2 containere astfel încât fiecare să se poată conecta la celălalt prin ''ssh'' cu credențialele de mai sus. Conexiunea va folosi adresa IP asignată intefețelor eth1, nu eth0. | + | * **[5p]** Configurați cele 2 containere astfel încât fiecare să se poată conecta la celălalt prin ''ssh'' cu credențialele de mai sus. Conexiunea va folosi adresa IP asignată intefețelor ''eth1'', nu ''eth0''. |
<note important> | <note important> | ||
Line 93: | Line 93: | ||
- | ==== Task 03 (20p) ==== | + | ==== Task 03 (25p) ==== |
- | * **[2p]** Opriți interfața eth0 de pe containerul ''rick''. | + | * **[2p]** Opriți interfața eth0 de pe containerul ''summer''. |
* **[6p]** Configurați în mod static permanent, pe interfața ''eth1'' a containerului ''summer'' o adresă astfel încât să poată da ping cu succes pe adresele setate pe containerele rick si morty (atenție și la adresa setată pe interfața ''usobridge'' de pe host).Un container nu poate fi rebootat, testați faptul că ați făcut configurările corecte folosind comanda ''service networking restart'' în containerul ''summer''. | * **[6p]** Configurați în mod static permanent, pe interfața ''eth1'' a containerului ''summer'' o adresă astfel încât să poată da ping cu succes pe adresele setate pe containerele rick si morty (atenție și la adresa setată pe interfața ''usobridge'' de pe host).Un container nu poate fi rebootat, testați faptul că ați făcut configurările corecte folosind comanda ''service networking restart'' în containerul ''summer''. | ||
* **[6p]** Faceți configurările necesare atfel încât containerul ''summer'' să aibă conexiune la internet. Testați folosind comanda ''ping -c 2 8.8.8.8''. Configurarea trebuie să fie permanentă. | * **[6p]** Faceți configurările necesare atfel încât containerul ''summer'' să aibă conexiune la internet. Testați folosind comanda ''ping -c 2 8.8.8.8''. Configurarea trebuie să fie permanentă. | ||
- | * **[6p]** Configurați containerul ''morty'' altfel încât comanda ''ping google.com'' să se execute cu succes. | + | * **[6p]** Configurați containerul ''morty'' astfel încât comanda ''ping google.com'' să se execute cu succes. |
- | * **[5p]** Faceți configurările necesare pe mașina virtuală de USO (''usovm'') astfel încât să fie posibilă conectarea la containerele ''rick'', ''mortyi'' și ''summer'' folosind numele lor. De exemplu: | + | * **[5p]** Faceți configurările necesare pe mașina virtuală de USO (''usovm'') astfel încât să fie posibilă conectarea la containerele ''rick'', ''morty'' și ''summer'' folosind numele lor. De exemplu: |
<code bash> | <code bash> | ||
student@usovm:~$ ping rick | student@usovm:~$ ping rick | ||
Line 111: | Line 111: | ||
* **[5p]** Scrieți un script ''~/tema3/task4/send_to_all.sh'' (în home-ul userului ''student'' de pe mașina virtuală) care primește o cale către un fișier ca argument și trimite prin ssh (Hint: ''man scp'') fișierul primit ca argument în directoarele home ale utilizatorilor ''rick'', ''morty'' și ''summer'' de pe containerele asociate fără a cere parolă. Puteți să presupuneți că argumentul primit de script este tot timpul valid. | * **[5p]** Scrieți un script ''~/tema3/task4/send_to_all.sh'' (în home-ul userului ''student'' de pe mașina virtuală) care primește o cale către un fișier ca argument și trimite prin ssh (Hint: ''man scp'') fișierul primit ca argument în directoarele home ale utilizatorilor ''rick'', ''morty'' și ''summer'' de pe containerele asociate fără a cere parolă. Puteți să presupuneți că argumentul primit de script este tot timpul valid. | ||
- | ==== Task 05 (20p) ==== | + | ==== Task 05 (25p) ==== |
- | În urma primei rulări a checkerului pe acest task, pe cele 3 containere (''rick'', ''morty'', summer) se va popula câte o bază de date folosind ''sqlite3''. | + | În urma primei rulări a checkerului pe acest task, pe cele 3 containere (''rick'', ''morty'', ''summer'') se va popula câte o bază de date folosind ''sqlite3''. |
* **[5p]** Creați în mașina virtuala folosind ''sqlite3'' (o sa trebuiască instalat pachetul) o bază de date numită ''rickandmorty.db'' (în ''/home/student/tema3/task5'') și în ea o tabelă nouă numită ''characters'' cu 3 coloane: | * **[5p]** Creați în mașina virtuala folosind ''sqlite3'' (o sa trebuiască instalat pachetul) o bază de date numită ''rickandmorty.db'' (în ''/home/student/tema3/task5'') și în ea o tabelă nouă numită ''characters'' cu 3 coloane: | ||
* name - string de maxim 50 de caractere, nu poate fi null | * name - string de maxim 50 de caractere, nu poate fi null | ||
Line 133: | Line 133: | ||
* numele unei baze de date (path către un fișier ''*.db'') | * numele unei baze de date (path către un fișier ''*.db'') | ||
* numele unei table in baza de date | * numele unei table in baza de date | ||
- | Scriptul va trebui să ruleze **prin ssh** scriptul `select.sh` pe userul și ip-ul primite ca argument. | + | Scriptul va trebui să ruleze **prin ssh** scriptul ''select.sh'' pe userul și ip-ul primite ca argument. |
Scriptului ''select.sh'' i se vor da argumentele 3 și 4 (numele bazei de date si al tabelei). | Scriptului ''select.sh'' i se vor da argumentele 3 și 4 (numele bazei de date si al tabelei). | ||