User Tools

Site Tools


school:uso:lab-05

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
school:uso:lab-05 [2014/11/04 17:33]
razvan [6. Montarea sistemelor de fișiere (2p)]
school:uso:lab-05 [2020/07/20 09:16] (current)
Line 1: Line 1:
-= Laborator 05 - Gestiunea sistemului de fișiere =+====== Laborator 05 - Gestiunea sistemului de fișiere ======
  
-== Suport laborator ==+===== Suport laborator =====
  
   * [[http://books.google.ro/books?id=_JFGzyRxQGcC&lpg=PA365&pg=PA284#v=onepage&q&f=false|10.2 Securitatea sistemului de operare]]   * [[http://books.google.ro/books?id=_JFGzyRxQGcC&lpg=PA365&pg=PA284#v=onepage&q&f=false|10.2 Securitatea sistemului de operare]]
Line 10: Line 10:
 git clone https://github.com/systems-cs-pub-ro/uso.git git clone https://github.com/systems-cs-pub-ro/uso.git
 </code> </code>
-== Demo ==+===== Demo =====
  
-=== 1. Permisiuni ===+==== 1. Permisiuni ====
  
 În laboratorul precedent am aflat că într-un sistem pot exista mai mulți utilizatori. Totuși, fiecare utilizator trebuie sa poată avea fișierele lui personale care să nu poată fi modificate de un alt utilizator fără permisiunea sa, iar unele fișiere sau resurse trebuie să nu poată fi accesate decât de către utilizatorul privilegiat (//root//). În alte cuvinte trebuie să avem o metodă de a controla accesul utilizatorilor la diversele elemente ale sistemului. În laboratorul precedent am aflat că într-un sistem pot exista mai mulți utilizatori. Totuși, fiecare utilizator trebuie sa poată avea fișierele lui personale care să nu poată fi modificate de un alt utilizator fără permisiunea sa, iar unele fișiere sau resurse trebuie să nu poată fi accesate decât de către utilizatorul privilegiat (//root//). În alte cuvinte trebuie să avem o metodă de a controla accesul utilizatorilor la diversele elemente ale sistemului.
Line 28: Line 28:
 Ordinea în care se aplică aceste permisiuni este: dacă utilizatorul este deținătorul fișierului, atunci se aplică permisiunile pentru //owner//; dacă face parte din grupul deținător, atunci se aplică permisiunile pentru //group//; dacă niciuna dintre condițiile precedente nu este adevărată, atunci se aplică permisiunile pentru //others//. Ordinea în care se aplică aceste permisiuni este: dacă utilizatorul este deținătorul fișierului, atunci se aplică permisiunile pentru //owner//; dacă face parte din grupul deținător, atunci se aplică permisiunile pentru //group//; dacă niciuna dintre condițiile precedente nu este adevărată, atunci se aplică permisiunile pentru //others//.
  
-==== Vizualizarea permisiunilor ====+=== Vizualizarea permisiunilor ===
  
 Pentru a vedea conținutul unui director folosim comanda ''ls''. Dacă îi pasăm argumentul ''-l'' atunci comanda va lista conținutul în format lung, adică va afișă informații suplimentare. Să luăm un exemplu: Pentru a vedea conținutul unui director folosim comanda ''ls''. Dacă îi pasăm argumentul ''-l'' atunci comanda va lista conținutul în format lung, adică va afișă informații suplimentare. Să luăm un exemplu:
Line 54: Line 54:
   * Grupul fișierului este, în general, grupul utilizatorului care a creat fișierul, dar poate fi modificat.   * Grupul fișierului este, în general, grupul utilizatorului care a creat fișierul, dar poate fi modificat.
  
-==== Modificarea permisiunilor ====+=== Modificarea permisiunilor ===
  
 Pentru a modifica permisiunile unui fișier folosim comanda ''chmod''. Putem să specificăm noile permisiuni în două moduri: Pentru a modifica permisiunile unui fișier folosim comanda ''chmod''. Putem să specificăm noile permisiuni în două moduri:
Line 99: Line 99:
 </code> </code>
  
-==== Modificarea utilizatorului și a grupului ====+=== Modificarea utilizatorului și a grupului ===
  
 Pentru a modifica utilizatorul deținător al unui fișier folosim comanda ''chown''. Pentru a modifica utilizatorul deținător al unui fișier folosim comanda ''chown''.
Line 138: Line 138:
 </note> </note>
  
-==== Masca de permisiuni ====+=== Masca de permisiuni ===
  
 Să creăm un nou fișier și un nou director. Cu ce permisiuni vor fi create ele? Să creăm un nou fișier și un nou director. Cu ce permisiuni vor fi create ele?
Line 192: Line 192:
 </note> </note>
  
-=== 2. Link-uri ===+==== 2. Link-uri ====
  
 Link-urile sunt legături între două puncte ale sistemului de fișiere. În general le folosim când vrem să ne ușurăm accesul la un fișier sau director, sau pentru a uniformiza accesul. Link-urile sunt legături între două puncte ale sistemului de fișiere. În general le folosim când vrem să ne ușurăm accesul la un fișier sau director, sau pentru a uniformiza accesul.
Line 200: Line 200:
   * //link-uri hard (hard links)//: nu au echivalent în Windows; simplu spus, sunt două fișiere ce împart aceleași date, însă descrierea completă și implementarea lor o veți învăța la cursul de [[http://ocw.cs.pub.ro/courses/so|Sisteme de Operare]]   * //link-uri hard (hard links)//: nu au echivalent în Windows; simplu spus, sunt două fișiere ce împart aceleași date, însă descrierea completă și implementarea lor o veți învăța la cursul de [[http://ocw.cs.pub.ro/courses/so|Sisteme de Operare]]
  
-==== Link-uri simbolice ====+=== Link-uri simbolice ===
  
 Pentru a crea un link folosim comanda ''ln''. Pentru a crea un link simbolic trebuie să specificăm parametrul ''-s'' Pentru a crea un link folosim comanda ''ln''. Pentru a crea un link simbolic trebuie să specificăm parametrul ''-s''
Line 233: Line 233:
 Link-ul nu mai funcționează mutat fișierul către care pointa. Această problemă nu poate fi rezolvată cu link-uri simbolice. Dacă vrem să putem muta fișierul destinație, trebuie sa folosim link-uri hard. Link-ul nu mai funcționează mutat fișierul către care pointa. Această problemă nu poate fi rezolvată cu link-uri simbolice. Dacă vrem să putem muta fișierul destinație, trebuie sa folosim link-uri hard.
  
-==== Link-uri hard ====+=== Link-uri hard ===
  
 Pentru a crea link-uri hard folosim comanda ''ln'' fără a specifica parametrul ''-s''. Pentru a crea link-uri hard folosim comanda ''ln'' fără a specifica parametrul ''-s''.
Line 266: Line 266:
 ... ce s-a întâmplat aici??? ... ce s-a întâmplat aici???
  
-=== 3. Lucrul cu sisteme de fișiere ===+==== 3. Lucrul cu sisteme de fișiere ====
  
 Un sistem de fișiere reprezintă modul de organizare a fișierelor pe un mediu de stocare pentru a le face mai ușor accesibile. Sistemul de fișiere folosit, în general, pe sistemele Linux se numește //ext4//. Pentru a vedea ce sisteme de fișiere există în sistem folosim comanda ''fdisk -l''. Un sistem de fișiere reprezintă modul de organizare a fișierelor pe un mediu de stocare pentru a le face mai ușor accesibile. Sistemul de fișiere folosit, în general, pe sistemele Linux se numește //ext4//. Pentru a vedea ce sisteme de fișiere există în sistem folosim comanda ''fdisk -l''.
Line 321: Line 321:
 </code> </code>
  
-==== Montarea și demontarea sistemelor de fișiere ====+=== Montarea și demontarea sistemelor de fișiere ===
  
 Un sistem de fișiere nu poate fi folosit decât dacă este montat. Comanda cu ajutorul căreia putem face asta este ''mount''. Fără niciun argument ne va spune ce sisteme de fișiere sunt montate și în ce directoare sunt montate. Un sistem de fișiere nu poate fi folosit decât dacă este montat. Comanda cu ajutorul căreia putem face asta este ''mount''. Fără niciun argument ne va spune ce sisteme de fișiere sunt montate și în ce directoare sunt montate.
Line 351: Line 351:
 </note> </note>
  
-== Exerciții ==+===== Exerciții =====
  
 <note hint> <note hint>
Line 363: Line 363:
 </note> </note>
  
-=== 1. Adăugarea unor utilizatori noi (1p) ===+==== 1. Adăugarea unor utilizatori noi (1p) ====
  
 Adăugați în sistem utilizatorii ''han'', ''chewbacca'', ''luke'', ''leia'' și ''darth_vader''. Adăugați în sistem utilizatorii ''han'', ''chewbacca'', ''luke'', ''leia'' și ''darth_vader''.
Line 371: Line 371:
 </note> </note>
  
-=== 2. Adăugarea unor grupuri noi (1p) ===+==== 2. Adăugarea unor grupuri noi (1p) ====
  
 Adăugați în sistem următoarele grupuri: ''rebellion'' (din care să facă parte utilizatorii ''luke'' și ''leia''), ''galactic_empire'' (din care să facă parte utilizatorul ''darth_vader'') și ''smugglers'' (din care să facă parte utilizatorii ''han'' și ''chewbacca''). Adăugați în sistem următoarele grupuri: ''rebellion'' (din care să facă parte utilizatorii ''luke'' și ''leia''), ''galactic_empire'' (din care să facă parte utilizatorul ''darth_vader'') și ''smugglers'' (din care să facă parte utilizatorii ''han'' și ''chewbacca'').
Line 379: Line 379:
 </note> </note>
  
-=== 3. Permisiuni 1 (2p) ===+==== 3. Permisiuni 1 (2p) ====
  
 Intrați în directorul ''/home/uso/lab05/star_wars_episode_iv_a_new_hope/millenium_falcon''. În acest director vor trebui să lucreze atât utilizatorul ''han'' cât și ''chewbacca''. Setați permisiunile necesare astfel încât doar ei doi să poată modifica conținutul directorului, iar restul utilizatorilor să îl poată doar vizualiza. Intrați în directorul ''/home/uso/lab05/star_wars_episode_iv_a_new_hope/millenium_falcon''. În acest director vor trebui să lucreze atât utilizatorul ''han'' cât și ''chewbacca''. Setați permisiunile necesare astfel încât doar ei doi să poată modifica conținutul directorului, iar restul utilizatorilor să îl poată doar vizualiza.
Line 387: Line 387:
 </note> </note>
  
-=== 4. Permisiuni 2 (2p) ===+==== 4. Permisiuni 2 (2p) ====
  
 Intrați în directorul ''/home/student/uso/lab05/star_wars_episode_iv_a_new_hope/death_star/''. În acest director se află fișierul ''crucial_weakness'' care trebuie protejat. Setați permisiunile necesare fișierului astfel încât utilizatorii care nu se află în grupul ''galactic_empire'' să nu aibă nicio permisiune asupra lui. Intrați în directorul ''/home/student/uso/lab05/star_wars_episode_iv_a_new_hope/death_star/''. În acest director se află fișierul ''crucial_weakness'' care trebuie protejat. Setați permisiunile necesare fișierului astfel încât utilizatorii care nu se află în grupul ''galactic_empire'' să nu aibă nicio permisiune asupra lui.
  
-=== 5. Link-uri (1p) ===+==== 5. Link-uri (1p) ====
  
 Intrați în directorul ''~/uso/lab05/star_wars_episode_iv_a_new_hope/millenium_falcon''. Creați un link simbolic către fișierul ''../tatooine/mos_eisley/cantina''. Creați link-ul astfel încât să poată fi mutat în directorul ''~/uso/lab05/star_wars_episode_iv_a_new_hope/millenium_falcon/smuggling_compartment'' și să funcționeze în continuare. Intrați în directorul ''~/uso/lab05/star_wars_episode_iv_a_new_hope/millenium_falcon''. Creați un link simbolic către fișierul ''../tatooine/mos_eisley/cantina''. Creați link-ul astfel încât să poată fi mutat în directorul ''~/uso/lab05/star_wars_episode_iv_a_new_hope/millenium_falcon/smuggling_compartment'' și să funcționeze în continuare.
Line 399: Line 399:
 </note> </note>
  
-=== 6. Montarea sistemelor de fișiere (2p) ===+==== 6. Montarea sistemelor de fișiere (2p) ====
  
-În ciuda eforturilor de securizare a datelor din directorul ''/home/student/uso/lab05/star_wars_episode_iv_a_new_hope/death_star'', imaginea ''/home/uso/lab05/star_wars_episode_iv_a_new_hope/death_star/death_star_plans.iso'' a rămas accesibilă. Astfel, ca utilizatorul ''luke'', montați imaginea în directorul ''/home/student/uso/lab05/star_wars_episode_iv_a_new_hope/yavin/plans''.+În ciuda eforturilor de securizare a datelor din directorul ''/home/student/uso/lab05/star_wars_episode_iv_a_new_hope/death_star'', imaginea ''/home/uso/lab05/star_wars_episode_iv_a_new_hope/death_star/death_star_plans.iso'' a rămas accesibilă. Montați imaginea în directorul ''/home/student/uso/lab05/star_wars_episode_iv_a_new_hope/yavin/plans''.
  
 <note tip> <note tip>
-Montați imaginea dupa procedura descrisă în [[laborator-05#montarea sistemelor de fișiere|capitolul 3]]. Imaginea folosește sistemul de fișiere [[http://http://en.wikipedia.org/wiki/ISO_9660|iso9660]], deci pentru montare veți folosi parametrul ''-t iso9660''.+Montați imaginea dupa procedura descrisă în mai sus. Imaginea folosește sistemul de fișiere [[http://http://en.wikipedia.org/wiki/ISO_9660|iso9660]], deci pentru montare veți folosi parametrul ''-t iso9660''
 + 
 +Folosiți ''sudo'' în fața comenzii ''mount'' pentru montare. 
 + 
 +Pentru verificarea montării folosiți comanda ''mount'' fără alte argumente. 
 +</note> 
 + 
 +Demontați imaginea montată folosind ''umount'', 
 + 
 +<note tip> 
 +Prefixați comanda de demontare folosind comanda ''sudo''.
 </note> </note>
  
-=== 7. Drepturi de execuție (1p) ===+==== 7. Drepturi de execuție (1p) ====
  
-Intrați în directorul ''~/uso/lab05/star_wars_episode_iv_a_new_hope/yavin''. Aici veți găsi fișierul ''x-wing''. Setați permisiunile necesare astfel încât fișierul să poată fi executat doar de către utilizatorul ''luke''. După ce ați făcut aceasta lansați fișierul în execuție.+Intrați în directorul ''/home/student/uso/lab05/star_wars_episode_iv_a_new_hope/yavin''. Aici veți găsi fișierul ''x-wing''. Setați permisiunile necesare astfel încât fișierul să poată fi executat doar de către utilizatorul ''luke''. După ce ați făcut aceasta lansați fișierul în execuție.
school/uso/lab-05.1415115195.txt.gz · Last modified: 2014/11/04 17:33 by razvan