Concepte

Prezentare generală

Orice calculator are nevoie să stocheze date de diferite tipuri undeva, de exemplu pe un hard drive (HDD), un stick de memorie USB, etc. Aceste date sunt organizate sub formă de fișiere, directoare și legături (link-uri).

Un director este de fapt tot un fișier ce conține adresele altor fișiere. În Linux, totul este reprezentat ca un fișier sau un director: hard-drive-ul, display-ul, keyboard-ul, etc.

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.

Sistemul de fișiere este folosit pentru a organiza ierarhic toate datele stocate pe un sistem.

În Linux, acesta are următoarea structură arborescentă, ce poate fi vizualizată folosind comanda tree:

Un director poate conține mai multe fișiere și directoare, iar directoarele la rândul lor pot conține alte fișiere și directoare.

În Linux, întreaga structură de directoare pornește din directorul root reprezentat de un singur slash /. Directorul root conține numeroase alte directoare ce stochează diferite tipuri de informații:

  • /bin conține fișiere executabile, utilitare fundamentale cum ar fi cp, ls
  • /boot conține toate fișierele necesare pentru bootarea cu succes a sistemului
  • /etc conține fișiere de configurare
  • /root este directorul home al utilizatorului privilegiat root
  • /home conține directoarele home pentru toți utilizatorii din sistem

În directorul home al unui utilizator se găsesc fișiere personale, ce nu pot fi accesate de alți utilizatori.

A nu se confunda root-ul sistemului de fișiere și utlizatorul root.

Stocarea datelor

După cum am spus la începutul laboratorului, datele sunt stocate pe un disk (hard-disk, SSD, CD-ROM). În Linux, există numeroase formate de stocare a datelor, numite și tipuri de sisteme de fișiere: ext4, ext3, ext2, ZFS, XFS. Acestea specifică modul în care datele sunt stocate și ulterior accesate de pe disk. Forma cea mai comună de stocare a datelor este ext4.

Ca o comparație între Windows și Linux, după cum știm Windows are disk-uri A, B, C, D, etc., în Linux trebuie ca disk-ul să fie legat la sistemul de fișiere într-un director ales. Această operație se numește montare și se realizează folosind comanda mount. Folosită fără niciun argument, ne va spune ce sisteme de fișiere sunt montate și în ce directoare sunt montate.

Căi absolute/relative

Pentru accesarea unui fișier sau director sunt posibile două moduri, în funcție de directorul curent:

  • căi absolute: pornesc din directorul root
  • căi relative: pornesc din directorul curent

Directorul curent este directorul în care utilizatorul se află la momentul actual. Directorul curent se afișează la apelul comanzii pwd (print working directory). Pentru schimbarea directorului curent se folosește comanda cd (change director), urmată de numele directorului în care dorim să ajungem.

Să luăm ca exemplu următoarea structură de fișiere și directoare din laboratorul introductiv:

$ cd ~/uso-lab
$ tree
.
├── 00-intro
│   ├── support
│   └── wiki
│       ├── basics.wiki
│       ├── concepts.wiki
│       ├── demo.wiki
│       ├── get-a-life.wiki
│       ├── need-to-know.wiki
│       ├── nice-to-know.wiki
│       └── recap.wiki
├── 01-fs
│   ├── support
...

Dacă dorim să afișăm fișierul concepts.wiki folosind o cale absolută vom folosi comanda ls, astfel:

$ ls /home/student/uso-lab/00-intro/wiki/concepts.wiki 

Dacă ne aflăm curent în directorul uso-lab, putem să folosim o cale relativă:

$ ls ./00-intro/wiki/concepts.wiki

Sau și mai simplu:

$ ls 00-intro/wiki/concepts.wiki

Caracterul . specifică directorul curent. Acesta poate fi omis, după cum se vede în exemplul anterior.

Dacă ne aflăm în directorul 01-fs, putem să folosim de asemena o cale relativă, astfel:

$ ls ../00-intro/wiki/concepts.wiki

Caracterul .. specifică directorul părinte directorului curent.

Căile absolute se pot folosi indiferent de directorul curent în care se află utilizatorul. Căile relative depind de directorul curent.

Utilizatori și pemisiuni

În Linux există două tipuri de utlizatori:

  • neprivilegiați - nu pot modifica starea sistemului, nu pot realiza modificări ce afectează alți utilizatori
  • privilegiați - au acces total asupra sistemului, de exemplu utilizatorul root

Utilizatorul root este prezent, în general, pe orice sistem Linux, rolul său fiind de administrare și gestionare a celorlalți utilizatori.

Nu este recomandat să folosiți sistemul cu acest utilizator decât pentru strictul necesar. De multe ori este suficientă utilizarea comenzii sudo, care permite unui alt utilizator să execute comenzi ca un superuser (utilizator privilegiat).

Diferența dintre utilizatorii neprivilegiați și utilizatorii privilegiați este dată de drepturile pe care aceștia le au. Linux folosește permisiuni pentru a dicta ce operații poate să efectueze un utilizator asupra unui fișier sau director.

Permisiunile pot fi aplicate pe trei categorii:

  • utilizator (owner): utilizatorul care este deținătorul fișierului/directorului
  • grup (group): un grup de utilizatori care sunt deținătorii fișierului/directorului
  • ceilalți (others): utilizatorii care nu intră în niciuna dintre categoriile anterioare

Pentru fiecare dintre cele trei categorii există trei permisiuni:

  • de citire: utilizatorul poate citi conținutul fișierului, respectiv poate lista conținutul directorului
  • de scriere: utilizatorul poate modifica conținutul fișierului/directorului
  • de execuție: utilizatorul poate lansa fișierul în execuție respectiv poate parcurge directorul

Ordinea în care se aplică aceste permisiuni este:

  1. dacă utilizatorul este deținătorul fișierului, atunci se aplică permisiunile pentru owner
  2. dacă face parte din grupul deținător, atunci se aplică permisiunile pentru group
  3. dacă niciuna dintre condițiile precedente nu este adevărată, atunci se aplică permisiunile pentru others
uso/laboratoare/new/01-fs/concepts.txt · Last modified: 2019/10/03 06:18 by alexandru.radovici
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