Differences

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

Link to this comparison view

uso:teme:tema-2-evil-hidden-page [2017/10/31 14:34]
maria.mihailescu
uso:teme:tema-2-evil-hidden-page [2017/11/02 22:58] (current)
maria.mihailescu
Line 26: Line 26:
 Timp de lucru: **7 zile**\\ Timp de lucru: **7 zile**\\
 Punctaj: **0.8 puncte** din nota finală\\ Punctaj: **0.8 puncte** din nota finală\\
-Formular pentru trimitere temă: ​TODO+Formular pentru trimitere temă: ​[[ https://​docs.google.com/​forms/​d/​1comyo1UridI_FG-HqVlgJRq3q5VKHvNlzEh11iV0GvI | Formular submitere ]] 
 </​note>​ </​note>​
  
Line 66: Line 66:
 Creați un script numit ''​task01.sh''​. Scriptul primește două argumente: Creați un script numit ''​task01.sh''​. Scriptul primește două argumente:
   * argumentul 1 reprezintă numele unui script ce va fi creat din interiorul scriptului ''​task01.sh''​   * argumentul 1 reprezintă numele unui script ce va fi creat din interiorul scriptului ''​task01.sh''​
-  * argumentul 2 reprezintă calea către ​scriptul ce va fi creat din interiorul scriptului.+  * argumentul 2 reprezintă calea către ​directorul în care va fi creat noul script.
  
 Setați două variabile locale: ''​MY_FILE''​ și ''​MY_PATH''​ care să reprezinte primul și, respectiv, al doilea parametru al scriptului ''​task01.sh''​. Setați două variabile locale: ''​MY_FILE''​ și ''​MY_PATH''​ care să reprezinte primul și, respectiv, al doilea parametru al scriptului ''​task01.sh''​.
Line 77: Line 77:
 Exemplu de folosire a scriptului ''​task01.sh'':​ Exemplu de folosire a scriptului ''​task01.sh'':​
 <code bash> <code bash>
-[student@uso]$ sh script.sh  ​. ​file.sh+[student@uso]$ sh task01.sh file.sh ​.
 [student@uso]$ sh file.sh student [student@uso]$ sh file.sh student
 CMD1               ​PID ​ PPID USER       ​UID ​  GID CMD1               ​PID ​ PPID USER       ​UID ​  GID
Line 155: Line 155:
 Realizați următoarele modificări asupra sistemului: Realizați următoarele modificări asupra sistemului:
   * **[5p]** Utilizatorul ''​ash''​ are drepturi depline asupra sistemului, însă poate executa ca utilizator privilegiat fără să i se ceară parola doar comenzile ''​rev''​ și ''​tac''​.   * **[5p]** Utilizatorul ''​ash''​ are drepturi depline asupra sistemului, însă poate executa ca utilizator privilegiat fără să i se ceară parola doar comenzile ''​rev''​ și ''​tac''​.
-  * **[5p]** Utilizatorul ''​meowth''​ să poată executa ca utilizator privilegiat comanda ''​cat''​. +  * **[5p]** Utilizatorul ''​meowth''​ să poată executa ca utilizator privilegiat comanda ''​cat'' ​fără să i se ceară parola
-  * **[5p]** Utilizatorul ''​james''​ să poată să execute ca utilizator privilegiat comanda ''​ls''​. ​+  * **[5p]** Utilizatorul ''​james''​ să poată să execute ca utilizator privilegiat comanda ''​ls'' ​fără să i se ceară parola
  
  
Line 229: Line 229:
 Cannot mount file.iso in iso_dir Cannot mount file.iso in iso_dir
 </​code>​ </​code>​
-  * j) **[2p]** ​ Se caută toate fișierele de configurare (.conf) din folderul în care a fost montat fișierul .iso. Calea către aceste fișiere, [calea absolută] se scriu în fișierul ''/​home/​student/​tema02/​task04/​iso_conf_files.txt'',​ câte unul pe linie.+  * j) **[2p]** ​ Se caută toate fișierele de configurare (.conf) din folderul în care a fost montat fișierul .iso. Căile ​către aceste fișiere, [căile absolute] se scriu în fișierul ''/​home/​student/​tema02/​task04/​iso_conf_files.txt'',​ câte unul pe linie.
 <note important>​ <note important>​
 Atenție! Nu se vor trece în fișierul ​ Atenție! Nu se vor trece în fișierul ​
 /​home/​student/​tema02/​task04/​iso_conf_files.txt fișierele goale (cu dimensiune 0). /​home/​student/​tema02/​task04/​iso_conf_files.txt fișierele goale (cu dimensiune 0).
 </​note>​ </​note>​
-  * l) **[2p]** Se caută fișierele module kernel .ko (kernel objects) cu dimensiunea mai mare decât 16 bytes din directorul în care s-a făcut mount la ISO. Rezultatele se trec în fișierul ''/​home/​student/​tema02/​task04/​iso_ko_files.txt'',​ câte unul pe linie.+  * k) **[2p]** Se caută fișierele module kernel .ko (kernel objects) cu dimensiunea mai mare decât 16 bytes din directorul în care s-a făcut mount la ISO. Rezultatele se trec în fișierul ''/​home/​student/​tema02/​task04/​iso_ko_files.txt'',​ câte unul pe linie.
 La începutul fișierului se adaugă o linie care conține numărul de module kernel găsite care respectă constrângerile de mai sus urmată de o linie goală. La începutul fișierului se adaugă o linie care conține numărul de module kernel găsite care respectă constrângerile de mai sus urmată de o linie goală.
  
Line 245: Line 245:
 ./​boot/​kernel.ko ./​boot/​kernel.ko
 </​code>​ </​code>​
-  * k) **[2p]** La sfârșit, scriptul trebuie să iasă cu codul de eroare 42.+  * l) **[2p]** La sfârșit, scriptul trebuie să iasă cu codul de eroare 42.
  
 <note warning>​Toate sub-punctele sunt dependente de sub-punctele anterioare. În concluzie, nu se acordă punctaj pentru subpunctul ''​1.b.I''​ dacă sub-punctul ''​1.a''​ nu este funcțional,​ ș.a.m.d. Această regulă este valabilă pentru orice sub-punct al acestui exercițiu. <note warning>​Toate sub-punctele sunt dependente de sub-punctele anterioare. În concluzie, nu se acordă punctaj pentru subpunctul ''​1.b.I''​ dacă sub-punctul ''​1.a''​ nu este funcțional,​ ș.a.m.d. Această regulă este valabilă pentru orice sub-punct al acestui exercițiu.
Line 322: Line 322:
 Scriptul nu trebuie să conțină instrucțiuni de decizie, interne Bash, precum ''​test''​ sau ''​if''​ și nici instrucțiuni repetitive precum ''​for''​ sau ''​while'',​ ultimele trei nefiind studiate până la acest moment. De asemenea, comenzile unui oneliner nu sunt separate de caracterul '';''​ (punct și virgulă). Altfel, acestea pot fi la fel de bine scrise una sub alta, lucru care degradeaza noțiunea de ''​oneliner''​. Scriptul nu trebuie să conțină instrucțiuni de decizie, interne Bash, precum ''​test''​ sau ''​if''​ și nici instrucțiuni repetitive precum ''​for''​ sau ''​while'',​ ultimele trei nefiind studiate până la acest moment. De asemenea, comenzile unui oneliner nu sunt separate de caracterul '';''​ (punct și virgulă). Altfel, acestea pot fi la fel de bine scrise una sub alta, lucru care degradeaza noțiunea de ''​oneliner''​.
 </​note>​ </​note>​
 +
 +<​note>​
 +Constrângerile impuse pentru acest task:
 +  - ''​oneliner.sh''​ să fie un script de tip oneliner
 +  - ''​uniques.txt''​ trebuie:
 +    - să conțină câte un cuvânt pe linie
 +    - să conțină cuvintele unice sortate descrescător din:
 +      - fișierele care conțin grupul ''​.gr''​ urmat de o cifră mai mare sau egal ca 6 și de grupul ''​b.''​. Pentru aceste fișiere se vor ignora primele 4 linii.
 +      - fișierele care conțin grupul ''​.gr8b.''​. Pentru aceste fișiere se vor considera doar primele 3 linii ale acestora.
 +    - să nu conțină cuvintele: ''​password'',​ ''​123456'',​ ''​abcd'',​ ''​passw0rd'',​ ''​qwerty''​.
 +    - să fie generat de către script
 +  - ''​oneliner.sh''​ să nu conțină: '';'',​ instrucțiuni ''​for'',​ ''​while'',​ ''​test''​ sau ''​if''​.
 +  - ''​oneliner.sh''​ să funcționeze pentru orice număr de fișiere. Scripturile cu valori hardcodate **NU** vor fi punctate.
 +</​note>​
 +
  
 ==== Task 06 (10p) ==== ==== Task 06 (10p) ====
uso/teme/tema-2-evil-hidden-page.1509453275.txt.gz · Last modified: 2017/10/31 14:34 by maria.mihailescu
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