Sunteți pe pagina 1din 11

Utilizarea Sistemelor de Operare: Tema 3

Termen de predare: Luni, 16 Decembrie 2013, ora 23:55

Cuprins
Descriere Testare . Notare . . Task 1 . . Task 2 . . Task 3 . . Task 4 . . Task 5 . . Task 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 3 4 4 5 5 6 7

Utilizarea Sistemelor de Operare - Tema 3

Descriere
Tema const a n realizarea unui set de task-uri asupra unui sistem de operare Linux, gata instalat ntr-o mas a virtual a. , in Pentru predarea temei sunt necesare: conexiunea la internet Termen de predare: Timpul de lucru efectiv este de 7 de zile Uploadarea codului: 16 decembrie, ora 23:55 Uploadarea se face pe formularul de la adresa urm atoare: https://docs.google.com/forms/d/1f0hfsI-H4ohQh0HnfRCsL0l7T5EDmxq1RYvzbExVOPE/viewform Deadline-ul temei este hard. NU se accept a nt arzieri dup a 16 decembrie, ora 23:55. Atent , ie! Chiar s a ce at a p an a nu v a aat a vor , i dup , i predat codul, NU s , terget , i arhiva cu mas , ina virtual , i nota! Dac exista probleme n corectarea temei, f ar a arhiv a NU se pot face contestat , ii sau rezolva eventualele probleme ap arute.

Pagina 2/ 10

Utilizarea Sistemelor de Operare - Tema 3

Testare
Testarea temei se va face DOAR autenticat ca utilizator root, folosind programul instalat uso. Programul uso implementeaz a testele pentru toate task-urile din aceast a tem a. Acesta poate executat n orice moment pentru a verica dac a au fost rezolvate corect task-urile. Versiunea programului check este as a pe prima linie a output-ului. , at Versiunea curent a este: v11. Codename: Theyre coming to take me away haha In cazul n care testele vor actualizate, modic arile ajung n mod automat pe mas , inile virtuale. Comanda uso update va desc arca ultima versiune a programului uso folosit pentru testarea temei. Pentru a actualiza manual checker-ul, putet , i apela uso update ca utilizator root. Testarea nal a a temei se realizeaz a prin intermediul utilitarului automat de vericare a temelor. Tot ce trebuie voi s a facet i este s a rulat i uso submit s a nc arcat n formularul descris n pagina anterioar a. , , , i s , i codul Pentru a us am: , ura testarea, recomand Set arile mas acar o actualizare a VMWare Tools). Dac a , inii virtuale NU ar trebui modicate (nici m totus i considerat i c a este necesar a o modicare ntrebat i nt a i pe forum-ul temei dac a este acceptat a . , , , Mas a s a porneasc a iar sistemul de operare s a se ncarce complet f ar a interact , ina virtual , iune din exterior Parola de root s a r am an a cea implicit a (student) ATENT a vine implicit cu aceste condit ndeplinite. V a rug am s a NU alterat , ina virtual , ii , i vreuna , IE: Mas din aceste componente n afar a de modic arile cerute de task-ul 1 deoarece riscat a primit , i s , i 0 puncte pe tem a.

Notare
Nota pe ntreaga tem a este dat a de punctajul acumulat pe toate task-urile, punctaj as atre programul , at de c check la execut ia f a r a nici un parametru. , Se pot lua maxim 70 de puncte pe ntreaga tem a. Acest punctaj este echivalent cu 0.5 puncte din nota nal a. Nu este obligatorie rezolvarea tuturor task-urilor. Task-urile pot rezolvate n orice ordine, mai put n , in situat n care un task depinde de rezolvarea unui alt task. , ia

Pagina 3/ 10

Utilizarea Sistemelor de Operare - Tema 3

Task 1 (15p)
Partit , ii Deoarece v a place mult s a lucrat n mas a at a nu mai avet ,i , ina virtual , i ajuns s , i spat , iu liber pe singurul hard disk de pe mas a, /dev/sda. T and cont c a se aproprie sf ars augat nc a , in , in , itul semestrului at , i decis s , a mai ad ,i unul de dimensiune mic a. Pas i vet atorii: , ii pe care , i urma pentru atingerea acestui scop sunt urm [2p] Ad augat , i un nou hard disk mas , inii virtuale, de tipul SCSI s , i cu dimensiunea de 256 MB. Dispozitivul corespunz ator acestuia trebuie s a e /dev/sdb. [3p] Creat a partit augat: , i dou , ii pe noul hard disk ad prima partit , ie de pe hard disk, /dev/sdb1, va de tipul Ext3 (Primary) s , i va avea dimensiunea de 160 MB a doua partit amas. , ie, /dev/sdb5, va de tipul ReiserFs (Logical) s , i va ocupa tot spat , iul liber r [5p] Congurat a partit a e montate automat la restartarea mas , i ca cele dou , ii s , inii virtuale. In plus partit a n directorul /media/sdb1 cu drepturi de citire-scriere s , ia /dev/sdb1 va montat , i va putea montat a de orice utilizator, iar /dev/sdb5 se va monta n /media/sdb5, read-only. [5p] Pentru validarea operat a parcurget atorii pas , iilor de mai sus trebuie s , i urm , i: [2p] Pe prima partit a, creat n care copiat , ie creat , i s , ierul /media/sdb1/secret bin , i suma md5 a varibilei $nume [3p] Pe a doua partit atorul cont , ie, creat , i s , ierul /media/sdb5/aleator bin cu urm , inut: X octet i de 0 , Y octet , i de 7 Z octet , i de date random T octet , i de 25 In nal, dimensiunea s a e X+Y+Z+T octet , ierului trebuie s ,i Unde: X, Y, Z, T sunt as at i la rularea lui uso check . , ,

Atent a ce partit a de dou a ori nainte de a rula comanda. , i mare grij , ie formatat , i! Uitat , i-v , ie: Avet

Task 2 (5p)
Script runlevel Creat a ruleze la intrarea n runlevel-ul 3 s a as , i scriptul /etc/init.d/hello care s , i s , eze text-ul Hello, World!. Link-ul c atre script trebuie s a se numeasc a S99hello. Avet i grij a s a as at i exact Hello, World! (f ar a ghilimele). , , ,

Pagina 4/ 10

Utilizarea Sistemelor de Operare - Tema 3

Task 3 (15p)
Congur ari de ret , ea Congurat ari permanente aplicate pe eth1 astfel: , i conexiunea la ret , ea folosind set [2p] Adresa IP va 10.x.y.200 (unde x = $n_nume s , i y = $n_prenume) [1p] Masca de ret , ea va 255.255.255.128 (/25) [2p] Gateway-ul va avea alocat a prima adres a utilizabil a din ret a , eaua respectiv [5p] Adresa MAC va AA:BB:CC:DD:x:y, setat a nainte de pornirea interfet , ei Hint: s , ierul interfaces Hint: adresa MAC este scris a n baza 16 [5p] Creat n care se vor stoca evenimentele de tipul : pornire , i un s , ier de jurnal /var/log/retea.log / oprite interfat a ncep and cu pornirea sistemului n format UP/DOWN [ZZ-LL-AA/OO:MM:SS]. , Exemplu: UP [01-12-12/12:00:00] DOWN [10-12-12/18:58:34]

Task 4 (10p)
Congur ari de ret , ea II Obs: Acest task depinde de rezolvarea task-ului anterior.
1 Congurat n caz c a eth0 cade. Consider am momentul n care eth0 devine down , i eth1 ca sistem de failsafe sau up simulat prin intermediul comenzilor ifdown eth0 respectiv ifup eth0.

Interfat a permanent, dinamic s a porneasc a o dat a cu sistemul (este deja implicit). , a eth0 va congurat , i s NU este necesar a nici o congurare permanent a pentru eth1. Toate congur arile (inclusiv pt. eth1 ) vor efectuate n sect , iunea interfet , ei eth0. Va trebui ca atunci c and eth0 devine down, eth1 s a devin a up, iar c and eth0 revine up, eth1 s a devin a automat down. Asigurat a c a la rularea checker-ului eth0 este up iar eth1 este down. , i-v Pentru mai multe detalii consultat , i pagina de manual man interfaces, directivele up s , i down. Acest task are mai multe rezolv ari posibile. Se consider a valid a orice rezolvare persistent a, validat a de c atre checker inclusiv imediat dup a repornirea sistemului. .
1 http://en.wikipedia.org/wiki/Fail-safe

Pagina 5/ 10

Utilizarea Sistemelor de Operare - Tema 3

Task 5 (15p)
Congurare apache2 V-at a instalat a poat a g azdui un site public , i decis s , i un server web pentru ca ecare utilizator din sistem s al lui. Server-ul web ales este Apache, dar nainte de a efectua urm atoarele cerint a avet , e trebuie s , i instalat pachetul corespunz ator versiunii curente, apache2. [2p] Modicat a serverul apache astfel nc at: , i interfet , ele pe care ascult s a asculte pe toate interfet , ele pe portul 80 s a asculte pe interfat , a eth0 pe portul 8080 (folosit , i adresa interfet , ei) Hint: Listen [2p] In directorul root web creat a cont a textul main.html has , i un s , ier numit main.html care s , in priority over index.html. Congurat n as nc at s a aib a precedent a n fat , i modulul dir , a fel , ierul main.html s , , a lui index.html. Hint: DirectoryIndex [4p] Realizat arile necesare pentru a putea accesa s , i congur , ierele publice alte utilizatorului student (/home/student/public html) la adresa http://localhost/student. Hint: UserDir [7p] Scriet n directorul /root/bin/ care va activa sau dezactiva accesul la , i un script numit userdir.sh s , ierele publice ale utilizatorului user folosind URL-ul http://localhost/user. In mod implicit la ad augarea unui utilizator nou nu se va permite accesul la s , ierele din public html ale acestuia. Scriptul va permite urm atoarele moduri de apel: userdir.sh enable/disable user activeaz a/dezactiveaz a accesul pentru utilizatorul user userdir.sh enable/disable activeaz a/dezactiveaza accesul pentru tot , i utilizatorii de pe sistem Condit , ii speciale: Se va verica dac a utilizatorul exista, n caz contrar va ntoarce mesajul de eroare: Utilizatorul nu exista. Se va verica dac a utilizatorul are directorul home n /home/, n caz contrar va ntoarce mesajul de eroare: Utilizatorul nu are directorul home in /home/. Dac a utilizatorul era deja ad augat as , at , i mesajul de eroare: Utilizatorul este deja activat. Atunci c and scriptul este apelat cu parametrul disable, nu trebuie s a s , terget , i directoarele public html, n schimb pentu parametrul enable va trebui s a creat n cazul , i directorul public html inexistent ei acestuia. ,

Pagina 6/ 10

Utilizarea Sistemelor de Operare - Tema 3

Task 6 (10p)
Bash CGI Acest exercit n mod dinamic folosind bash. Accesarea paginii: , iu presupune generarea unei pagini web http://localhost/host_info.sh va avea drept efect ntoarcerea unei pagini care cont , ine informat , ii despre mas ina virtul a folosind tehnologia CGI. Pentru ecare cerere HTTP se creeaz a un proces CGI care interpre, teaz a scriptul bash. Voi va trebui s a generat aspuns la o cerere HTTP folosind scriptul host info.sh, plasat n /usr/lib/cgi-bin/. , i un r [5p] Pentru a nlesni vericarea acestui checker avet , i la dispozit , ie un template HTML, denumit host info.html 2 , pentru pagina care trebuie s a o ntoarcet a nu l , i. Acest s , ier este regenerat la ecare uso check as , a c modicat , i.

Trebuie s a nlocuit , i cuvintele cheie de forma [[CUVANT CHEIE]] din acest s , ier cu output-ul unui one-liner care s a ofere informat , iile cerute. T and cont de cele spuse mai sus cuvintele cheie pe care trebuie s a le nlocuit , in , i sunt: HOSTNAME - numele mas , inii virtuale UPTIME - de c at timp este pornit a mas nc arcarea ei , ina s ,i PROCESSES - num arul de procese running, zombie etc. MEMORY INFO - informat at este folosit a, disponibil a etc n megabytes. , ii despre memorie: c LOGGED USERS - list a de utilizatori logat , i (Hint: DATE - data s a pagina , i ora la care a fost generat REQUEST IP - IP-ul de unde a venit cererea HTTP Pentru a putea nlocui us atoarea comand a: awk -v replace=$info { gsub(/search/, , or cuvintele cheie folosit , i urm replace) }. column)

Folosim utilitarul awk pentru a realiza nlocuirea. gsub este o funct , ie care ia ca prim parametru s , ir de caractere pe care vrem s a l nlocuim (nu uitat i de cele dou a /, sunt necesare) s i al doilea parametru este o , , variabil a awk pe care am declarat-o folosit parametrul -v s i replace=$info , unde $info este o variabil a bash . ,

Acel 1 de la nal se evalueaz a ntotdeauna la true s i spune s a as a (incluz and s ,i , eze linia modicat , i un newline). Exemplu pentru http://monstermash.local/cgi-bin/host_info.sh: <html> <head> < t i t l e > I n f o r m a t i i g e n e r a l e d e s p r e masina monstermash</ t i t l e > </ head>
2 http://swarm.cs.pub.ro/

~pvlase/uso/tema3/host_info.html

Pagina 7/ 10

Utilizarea Sistemelor de Operare - Tema 3 <body> <h5>Numele m a s i n i i : </ h5> <pre>monstermash</ pre> <h5>Uptime : </ h5> <pre> 0 6 : 1 6 : 4 3 up 46 min , 1 u s e r , l o a d a v e r a g e : 0 . 0 0 , 0 . 0 0 , 0 . 0 0</ pre> <h5> P r o c e s e : </ h5> <pre>Tasks : 76 t o t a l , 1 running , 75 s l e e p i n g , 0 stopped , 0 zombie</ pre> <h5>Memorie l i b e r a : </ h5> <pre> total used free shared buffers cached Mem: 502 73 428 0 9 40 /+ b u f f e r s / c a c h e : 23 478 Swap : 382 0 382</ pre> <h5> U t i l i z a t o r i l o g a t i : </ h5> <pre>USER TTY r o o t t t y 1</ pre> <br /> <center> I n f o r m a t i i g e n e r a t e l a data de : <b>2013 12 08 0 6 : 1 6 : 4 3</ b></ center> <center> p e n t r u IP u l : <b> 1 9 2 . 1 6 8 . 7 2 . 1</ b></ center> </ body> </ html> [5p] Actualizat a primeasc a o variabil a elds a c arei valoare este o list a ale c arei , i scriptul host info.sh s elemente sunt separate prin virgul a format a din urm atoarele cuv ante: hostname - numele mas , inii uptime - informat , ii despre uptime s , i load mem - informat , ii despre memorie proc - informat , ii despre procese users - utilizatorii logat ,i Un cuv ant cheie este as a apare n list a. Nu trebuie s a respectat n care apar n list a, , at doar dac , i ordinea ci as n template. , at , i informat , iile as , a cum sunt ele ordonate Exemplu pentru http://monstermash.local/cgi-bin/host_info.sh?fields=hostname,mem,proc: <html> <head> < t i t l e > I n f o r m a t i i g e n e r a l e d e s p r e masina monstermash</ t i t l e > </ head> <body> <h5>Numele m a s i n i i : </ h5> <pre>monstermash</ pre> <h5> P r o c e s e : </ h5> <pre>Tasks : 76 t o t a l , 1 running , <h5>Memorie l i b e r a : </ h5> <pre> total used cached Pagina 8/ 10

75 s l e e p i n g , free

0 stopped , shared

0 zombie</ pre>

buffers

Utilizarea Sistemelor de Operare - Tema 3 Mem: 502 73 428 0 9 40 /+ b u f f e r s / c a c h e : 23 478 Swap : 382 0 382</ pre> <br /> <center> I n f o r m a t i i g e n e r a t e l a data de : <b>2013 12 08 0 6 : 1 8 : 2 5</ b></ center> <center> p e n t r u IP u l : <b> 1 9 2 . 1 6 8 . 7 2 . 1</ b></ center> </ body> </ html>

Pagina 9/ 10

Lista schimb arilor

10

S-ar putea să vă placă și