+ All Categories
Home > Documents > Sisteme de Fisiere in Linux

Sisteme de Fisiere in Linux

Date post: 15-Sep-2015
Category:
Upload: ruxy90
View: 257 times
Download: 5 times
Share this document with a friend
Description:
Sisteme de Fisiere in Linux
49
ACADEMIA DE STUDII ECONOMICE CIBERNETICĂ, STATISTICĂ ȘI INFORMATICĂ DE GESTIUNE Sisteme de Operare Organizarea fişierelor şi directoarelor în sistemul Linux STUDENT: MARIUS DOBINDĂ ANUL II ID, GRUPA 1092 BUCUREȘTI
Transcript

ACADEMIA DE STUDII ECONOMICECIBERNETIC, STATISTIC I INFORMATIC DE GESTIUNESisteme de OperareOrganizarea fiierelor i directoarelorn sistemul LinuxSTUDENT:

MARIUS DOBINDANUL II ID, GRUPA 1092BUCURETI

2015

1. Noiuni introductiveFiierul (file) este reprezentarea logic a unei informaii sub forma unei niruiri de octei. Fiierul poate fi considerat ca fiind versiunea electronic a documentului scris.

Directorul (directory) este o entitate n care se pot regsi fiiere i/sau alte directoare. Acesta poate fi considerat versiunea electronic a dosarului.

Fiierele organizeaz informaiile pe mediile de stocare. Mediile de stocare pot fi considerate spaii continue de octei. n aceste spaii, se pot regsi mai multe fiiere, de dimensiuni variabile.

Sistemul de fiiere reprezint modul de organizare a fiierelor pe un mediu de stocare pentru a le face mai uor accesibile. Organizarea include att partea logic (modul n care sunt adresate fiierele) ct i partea fizic (modul n care sunt stocare fiierele ca niruire de octei).

Fiind o component a sistemului de operare (SO), sistemul de fiiere menine numele i atributele fiierelor i permite stocarea lor ntr-o ierarhie de directoare numit i arbore de directoare. Sistemele de operare folosesc fiiere pentru a organiza date, indiferent dac aceste date sunt ale utilizatorului sau sunt generate pe moment de sistem. Spre exemplu, n Linux i n Mac OS, orice informaie se gsete ntr-un fiier: datele se regsesc n fiiere; directoarele sunt i ele fiiere, dar cu atributul de director; fiecare dispozitiv poate fi accesat printr-un fiier, inclusiv mouse-ul, memoria i placa video. Intern, Microsoft Windows folosete o schem asemntoare structurii de fiiere i directoare pentru a denumi dispozitivele,dar aceast structur nu se suprapune peste structura de fiiere precum n Linux i n Mac OS.

2. Ierarhia sistemului de fiiereSistemele de fiiere permit utilizatorului s organizeze datele ntr-un mod accesibil. Structura cel mai des ntlnit pentru organizarea fiierelor este arborele. Tabelele de mai jos prezint structura ierarhic din sistemele de operare cele mai cunoscute.

Comparativ cu Linux, structura n Windows este mult mai simpl pentru directoarele aflate imediat n rdcin. n schimb, o mare parte din directoarele importante se afl n directorul Windows.

Orice sistem Linux prezint urmtoarea structur standard de directoare (standardizat n documentul File system Hierachy Standard - FHS):

DirectorConinut

/directorul rdcin

/bincomenzi standard i programele necesare ntreinerii i

depanrii sistemului

/bootfiiere necesare boot-rii, precum imaginea kernel-ului

/devfiiere speciale utilizate pentru accesul direct la

dispozitivele hardware sau logice ale sistemului

(terminale, discuri de sistem, imprimante, porturi

paralele, seriale, etc.)

/etcfiiere pentru configurarea i administrarea diverselor

utiliate i servicii ale sistemului (inittab, fstab, hosts, cron,

etc.)

/homefolderele aferente fiecrui utilizator din sistem, n mod

implicit acestea au acelai nume cel cu al utilizatorului

/mediasubdirectoare n care se monteaz unitile optice,

floppy, etc.

/mntsubdirectoare n care se monteaz alte sisteme de fiiere

/optpachete de aplicaii de dimensiuni mari, accesibile tuturor

utilizatorilor

/procsistem virtual de fiiere din care se obin informaii

despre sistem i aplicaiile care ruleaz la un moment dat

/rootdirectorul home al utilizatorului root

/run***

/sbincomenzi pentru administrarea sistemului

/selinux****

/srvservicii de date (www, ftp)

/sys****

/tmpfiiere temporare

/usraplicaii pentru uzul normal al sistemului de operare;

conine mai multe subdirectoare

/usr/bincomenzi orientate pe utilizator

/usr/sbincomenzi pentru administrarea sistemului

/usr/liblibrrii pentru limbajele de programare

/usr/sharedate independete de arhitectur, n general read-only:

documentaia Linux, paginile de manual, etc.

/varfiiere al cror coninut se schimb foarte des, precum

log-uri, fiiere temporare, cache (date reutilizabile), spool

(date neprocesate)

3. Tipuri de fiiere3.1 TerminologieSistemele de fiiere pun la dispoziia utilizatorilor diverse forme logice de organizare i acces la date, bineneles sub form de fiiere.

n afar de directoare i fiiere, sistemul de fiiere pune la dispoziia utilizatorului i legturi (link-uri).

Astfel, sistemele de fiiere moderne ofer posibilitatea utilizrii mai multor tipuri de fiiere prezentate n Tabelul 2.

Tipuri fiierDenumire tip n englezDescriere

fiiere normaleregular filesunitate logic de acces la date

directoaredirectories/foldersorganizeaz fiiere i alte directoare

legturi simbolicesymbolic linkslegtur ctre un fiier sau director

Tabelul 2. Tipuri de fiiere

Exist posibilitatea de a crea legturi att pentru fiiere ct i pentru directoare n fond, ambele entiti sunt fiiere, dar cu atribute diferite. Legturile se utilizeaz la scriere/citire la fel ca fiierele normale. Sistemul de operare mpreun cu sistemul de fiiere se ocup transparent de traducerea acestora n fiiere normale pentru aplicaii.

Fiecare director conine dou directoare speciale:

. (punct) indic spre acelai director (directorul curent);

.. (punct, punct) indic spre directorul printe;

n exemplele de mai jos:

comanda mkdir (make directory) creeaz un director comanda touch creeaz un fiier gol (0 octei) comanda ln -s creeaz un link simbolic

3.2 Detecia tipului fiierelorPe sistemele Windows, detecia tipului fiierelor se bazeaz pe verificarea extensiei. n funcie de aceasta, sistemul de operare determin care aplicaie este potrivit pentru a deschide un fiier.

Pe sistemele Linux, detecia tipului fiierelor este realizat prin intermediul comenzii file. Aceasta utilizeaz un fiier special de configurare n care sunt nscrise secvene de octei care se regsesc n diferite tipuri de fiiere. Comanda file lucreaz independent de extensia fiierului, precum este dovedit n exemplele urmtoare:

6

4. Operaii uzuale asupra fiierelor i directoarelor4.1 Afiarea i schimbarea directorului curentComanda pwd afieaz calea absolut ctre directorul curent. De asemenea, prompt-ul bash conine implicit directorul curent. Pentru a schimba directorul curent se folosete comanda cd . Calea poate s fie o cale absolut sau relativ.

Mai jos se gsete un exemplu de folosire a comenzilor pwd i cd. A se observa c la fiecare schimbare de director se modific i prompt-ul bash. Ierarhia de directoare prin care se navigheaz este cea prezentat anterior.

comanda pwd (print working directory) afieaz directorul current

comanda cd / (change directory) schimb directorul current (/root) cu directorul rdcin al sistemului de operare (/)

comanda cd /root este echivalent cu comanda cd ~; aceasta are ca efect schimbarea directorului curent (/) cu directorul home al utilizatorului curent logat root (/root).

cd .. (punct punct) schimb directorul curent n directorul printe al directorului curent; se pot nlnui mai multe secvene .. (punct punct) separate de / (slash);

cd . (punct) nu schimb directorul; . (punct) este un caracter special i se folosete pentru a indica n mod explicit o cale care are ca punct de pornire directorul curent; este utilizat frecvent pentru a scrie comenzi care execut scripturi/programe aflate n directorul curent; cd ~ (tilda) schimb directorul curent n directorului home al utilizatorul curent;

cd - (minus) schimb directorul curent n directorul anterior i l afieaz pe ecran;

cd apelat fr parametru schimb directorul n directorul home al utilizatorul curent (echivalent cu cd ~);

7

4.2 Afiarea coninutului fiierelorConinutul unui fiier poate fi afiat pe ecran prin intermediul comenzii cat (concatenate). Sintaxa cestei comenzi este cat . Un exemplu de utilizare este:

Aceast comand afieaz tot fiierul, inclusiv dac acesta este mai mare de un ecran. Pentru a putea naviga prin output-ul unei comenzi (n cazul acesta, al comenzii cat), se pot folosi comenzile more sau less.

more permite navigarea doar ntr-o singur direcie (de la nceput ctre sfritul fiierului) i cte un ecran odat, pe cnd less permite navigarea n ambele direcii, cte o linie, la fel ca un editor. more i less poart numele de paginatoare (pagere). Interfaa less este foarte asemntoare cu cea a editorului VIM (Vi IMproved).

4.3 Listarea coninutului unui directorCea mai frecvent operaie care se execut asupra directoarelor este listarea. Comanda utilizat este ls (list). n aceast seciune, prin fiier nelegem orice tip de fiier (inclusiv tipul director), mai puin n cazurile n care este menionat explicit.

Sintaxa comenzii pentru listare este ls [opiuni] []. n momentul n care lipsete calea, se realizeaz listarea coninutului directorului curent.

8

Opiunile cele mai des folosite cu aceast comand sunt:

-l afieaz informaii detaliate despre fiecare fiier/director (data modificare, dimensiune, utilizator, grup, drepturi de acces);

-a afieaz i fiierele care ncep cu . (punct); n Unix, aceste fiiere sunt considerate de majoritatea interfeelor cu utilizatorul ca fiind fiiere ascunse;

-h afieaz dimensiunea fiierelor n format human-readable, respectiv dimensiunea n octei este nlocuit cu dimensiunea n Kilooctei/Megaoctei/Gigaoctei dac depete un aunit ordin de mrime.

comanda ll este un alias pentru comanda ls -l (forma lung)

Semnificaia coloanelor afiate este:

primul caracter reprezint tipul fiierului:

- = fiier normal

d = director

p = pipe

b = dispozitiv bloc

c = dispozitiv caracter

l = legtur simbolic

urmeaz 3 grupuri de cte 3 caractere (rwx / read write execute) care reprezint drepturile de acces pentru utilizatorul root (care este deintorul fiierului), drepturile de acces pentru utilizatorii care fac parte din grupul root (care deine fiierul), drepturile de acces pentru ceilali utilizatori;

numrul de link-uri ctre fiier: 1;

utilizatorul ce deine fiierul: root;

grupul de care aparine fiierul: root;

dimensiunea fiierului: 4557;

data fiierului: Feb 7;

9

ora fiierului: 23:48;

numele fiierului: .bash_history;

Observaii:

dac se dorete afiarea coninutului directorului curent, nu este necesar scrierea cii ca parametru pentru comanda ls;

ls -al afieaz lista detaliat a fiierelor din directorul curent, inclusiv fiierele ascunse (a se observa c i . i .. sunt afiate);

ls -alh afieaz lista detaliat a fiierelor din directorul curent, utiliznd formatul human-readable pentru afiarea dimensiunii fiierelor (a se observa dimensiunea fiierului afiate); ls ../.. prezint utilizarea lui ls cu parametru dat sub form de cale relativ (directorul afiat este /);

ls -a prezint fiierele ascunse ale directorului /; se observ c i acest director conine directoarele standard . i ..;

ls -R afieaz arborele de directoare i fiiere care are ca rdcin directorul specificat ca argument;

4.4 Crearea/tergerea fiierelor/directoarelorPentru a crea orice entitate pe un sistem de fiiere, se utilizeaz o serie de comenzi, prezentate n

Tabelul 3.

Prima metod de creare a unui fiier este utiliznd comanda touch. A doua metod se bazeaz pe o funcionalitate bash numit redirectare n fiiere. Pe scurt, ceea ce realizeaz comanda doua este redirectarea ieirii unei comenzi (nule) ctre un fiier, crendu-se astfel un fiier gol (0 octei).

EntitateComand

Fiier normaltouch ,

Directormkdir

Legturi simbolice (link-uri simbolice)ln -s []

Pipe-uri cu numemkfifo

Tabelul 2. Comenzi pentru crearea fiierelor

O alt ntrebuinare a comenzii touch este aceea a actualizrii datei ultimei modificri i a datei ultimei accesri folosind urmtoarele opiuni:

-m (actualizeaz doar data ultimei modificri) -a (actualizeaz doar data ultimei accesri) fr parametru (actualizeaz ambele date)

-r (preia informaiile legate de timp de la alt fiier)

comanda mkdir (make directory) creeaz unul sau mai multe directoare specificate ca parametru

comanda rmdir (remove empty directory) terge unul sau mai multe directoare goale specificat ca parametru

n Linux, comanda cea mai utilizat pentru tergerea fiierelor i directoarelor este rm.

Sintaxa comenzii este rm [opiuni] .

Una dintre cele mai folosite opiuni este -r/-R, utilizat pentru a terge recursiv un director. Aceast opiune trebuie folosit cu atenie pentru c poate avea rezultate negative dac directorul care este ters conine informaii utile. O eroare celebr este utilizarea comenzii rm -rf /, care terge recursiv totul ncepnd cu directorul rdcin, fornd tergerile (datorit opiunii -f).

Pentru tergerea directoarelor goale se poate folosi i rmdir.

4.5 Operaiile de copiere/mutare/redenumireOperaiile de copiere i mutare sunt operaii care necesit 2 parametrii:

sursa de unde se copiaz/mut destinaia unde se copiaz/mut

CopiereaCopierea unui fiier sau director se realizeaz cu ajutorul comenzii cp.

Sintaxa comenzii este cp [opiuni] Opiunile cele mai folosite pentru copiere sunt:

-r (copiere recursiv; copiaz i copiii directoarelor, presupunnd c exist aa ceva n surs) -p (copiere cu pstrarea atributelor: permisiuni, dat)

-u (copiaz doar dac fiierul surs este mai nou dect fiierul destinaie sau dac fiierul destinaie lipsete)

MutareaMutarea unui fiier sau director se realizeaz cu ajutorul comenzii mv.

Sintaxa comenzii este mv [opiuni] Implicit, mutarea este recursiv i pstreaz atributele fiierelor. n cazul n care sursa i destinaia se gsesc pe aceiai partiie, la o mutare, se schimb doar printele fiierului sau directorului care se mut. O operaie de mutare este, astfel, mai puin costisitoare dect o operaie de copiere.

RedenumireaRedenumirea este, de fapt, o mutare i se realizeaz cu ajutorul comenzii mv, n urmtoarele condiii:

n cazul n care sursa este un fiier i destinaia este un fiier, se realizeaz copierea/mutarea fiierului cu schimbarea numelui sursei;

n cazul n care sursa este un director i destinaia nu exist ca director, se realizeaz copierea/mutarea directorului cu schimbarea numelui.

5. Operaii asupra coninutului5.1 Arhivarea i dezarhivareaArhivarea este procedeul prin care mai multe fiiere i directoare sunt adunate la un loc (ntr-un fiier), realiznd eventual i o reducere a dimensiunii prin eliminarea datelor care se repet i nlocuirea lor cu o serie de codificri.

n general, n cadrul procesului de arhivare se creeaz un dicionar cu secvene de octei frecvente i o codificare a lor mai scurt (pe mai puini octei). Arhiva conine att dicionarul ct i coninutul fiierelor dar, n loc de secvenele frecvente lungi, se regsesc referine ctre un dicionar. Dac fiierele conin multe date care se repet, dimensiunea unei arhive scade considerabil.

Dup cum se poate identifica i din descrierea anterioar, exist dou etape mai importante n ceea ce privete manevrarea fiierelor:

concatenarea (lipirea) fiierelor ntr-un fiier mai mare, din care s se poat extrage toate fiierele i informaiile despre ele;

compresia fiierului mare, astfel nct s se reduc dimensiunea lui dar fr a se pierde din informaii.

n Linux exist utilitare de arhivare care se ocup ori de una dintre etape ori de ambele etape.

Comanda tar (tape archive) se ocup de prima etap. Un fiier .tar conine fiiere necomprimate mpreun cu informaii despre modul de extragere al acestora (spre exemplu: de unde pn unde se gsete un fiier n cadrul arhivei). Din acest motiv, un fiier .tar este de obicei mai mare dect suma tuturor dimensiunilor fiierelor ce sunt incluse n el.

Sintaxa comenzii este tar cvf nume_arhiv.tar cu parametrii:

c creeaz arhiva;

v afieaz ce anume se arhiveaz;

f nume_arhiv.tar specific numele arhivei;

precizeaz directorul/directoarele/fiierele care vor fi arhivate.

Pentru a dezarhiva o arhiv .tar, se utilizeaz:

tar xvf nume_arhiv.tar [C ]unde:

x dezarhiveaz (eXtract)

v afieaz ce anume se dezarhiveaz;

f nume_arhiv.tar specific numele arhivei;

-C specific, opional, locul unde se realizeaz dezarhivarea.

14

f i nume_arhiv.tar se consider un singur parametru; din acest motiv, de fiecare dat cnd se folosete opiunea f pentru a indica un fiier arhiv, aceasta trebuie s apar ultima n lista de opiuni, fiind urmat imediat de numele fiierului de arhiv.

Pentru a realiza compresia unui fiier, dou utilitare sunt folosite preponderent n lumea Unix:

gzip, mai rapid dar cu rat de compresie mai mic; bzip2, mai lent dar cu rat de compresie mai mare.

Comanda tar poate utiliza direct unul dintre programele de comprimare menionate anterior folosind parametrul z pentru gzip sau parametrul j pentru bzip2.

Pe lng opiunile de compresie/arhivare se mai pot folosi i alte opiuni. Printre cele mai utile se numr opiunea --preserve, care impune pstrarea drepturilor de acces ]n momentul arhivrii/dezarhivrii.

5.2 BackupBackup-ul este realizat pentru a pstra ntr-un loc separat o copie a datelor. Aceast copie se utilizeaz pentru a reface datele n cazul n care suportul original nu mai poate fi folosit din orice motiv. Este una dintre cele mai utile aciuni asupra datelor pe care toat lumea tie c ar fi bine s o fac dar nu o face. Cteva metode de backup au fost deja prezentate. Tabelul 4 prezint cteva metode de backup i situaiile cnd sunt ele potrivite.

MetodDescriereCompresie

tar+gzip/bzip2Metod foarte simplu de aplicat. Devine greu de folosit pentruDa

dimensiuni mari de date.

Metod simplu de folosit i independent de sistemul de fiiere.

ddPermite pstrarea intact a structurii sistemului de fiiere. InflexibilNu

cnd vine vorba de recuperarea datelor. Util pentru cantiti mari de

date.

E asemntoare comenzii cp, dar la care s-a adugat suport de

rsyncsincronizare ntre mai multe sisteme de calcul. Permite replicareaDa

structurii de fiiere (inclusiv permisiuni) ntre dou sisteme de calcul.

Este un wrapper peste rsync. Adaug suport pentru backup-uri

incrementale. La un moment dat se realizeaz un backup complet

pentru un director (asemntor rsync-ului). Backup-urile incrementale

rdiff-backupsalveaz doar modificrile ce s-au fcut de la ultimul backup pn nDa

prezent, indiferent de tipul backup-ului. n acest fel se poate reveni la

orice stare anterioar, n msura n care s-a realizat cel puin un

backup incremental la acea stare.

Tabelul 4.

5.3 Comanda dd (data description)Comanda dd (data description) permite realizarea copierii i conversiei low-level a datelor. Aceasta accept la intrare urmtoarele argumente:

if (input file) parametru care specific fiierul de intrare of (output file) parametru care specific fiierul de ieire

bs (block size) parametru care specific mrimea blocului (n octei) count parametru ce specific numrul de blocuri

n exemple de mai jos

crearea unui fiier (zero.txt) care conine numai zerouri folosind blocuri de 128 de octei; mrimea acestuia este de 128 octei x 8 = 1024 de octei (1 Kilo octet);

crearea unui fiier (rand.txt) care conine date aleatoare folosind blocuri de 128 de octei; mrimea acestuia este de 128 octei x 8 = 1024 de octei (1 Kilo octet);

Efectuarea unui test de performan la scrierea i citirea secvenial al unui fiier de 1 Giga octet pe hard-disk folosind blocuri de 128 de octei la scriere i de 64 de Kilo octei la citire.

tergerea unui hard-disk cu zero sau cu date aleatoare.

Copierea unei partiii ca un fiier de imagine de disc pe o alt partiie.

5.4 Comanda tailComanda tail este folosit pentru a afia ultimele linii dintr-un fiier. Sintaxa comenzii este:

tail [opiuni] Folosit fr nicio opiune comanda tail afieaz ultimele 10 linii.

Opiunile cele mai des folosite sunt:

-c - afieaz numrul specificat de octei dintr-un fiier -n - afieaz numrul specificat de linii din fiier

-f - monitorizeaz fiierul

n exemplele urmtoare avem:

afiarea ultimelor 5 linii din fiier

afiarea ultimelor linii din fiier ncepnd cu linia 3

monitorizarea log-ului de sistem

5.5 Comanda headComanda head este folosit pentru a afia primele linii dintr-un fiier. Sintaxa comenzii este:

head [opiuni] Folosit fr nicio opiune comanda head afieaz primele 10 linii.

Opiunile cele mai des folosite sunt:

-c - afieaz numrul specificat de octei dintr-un fiier -n - afieaz numrul specificat de linii din fiier

n exemplele urmtoare avem:

afiarea primelor 5 linii din fiier

afiarea primilor 10 octei din fiier

5.6 Comanda sortComanda sort este folosit pentru a afia n ordine sortat liniile unui fiier sau datele primite ca argument. Sintaxa comenzii este:

sort [opiuni]

Opiunea -r afieaz n ordine invers.

5.7 Cutarea fiierelorComanda findComanda find folosete aboradrea brute-force pentru gsirea fiierelor cutnd n arborele de directoare. Comanda pune la dispoziie un set extins de criterii de cutare, cum ar fi numele fiierului, utilizatorul, grup, tip, permisiuni, dat i altele. Exemple de criterii de cutare sunt prezntate n continuare specificnd opiunea corespunztoare a comenzii find:

-name cutare dup numele fiierelor -perm cutare dup permisiunile fiierelor -size cutare dup dimensiunea fiierelor

Comanda urmtoare caut toate fiierele care au numele stat, n mod recursiv n directorul /usr:

Urmtoarea comand caut toate fiierele care au permisiunile 644:

Pentru cutarea fiierelor cu dimensiunea mai mare de 50 KB se folosete urmtoarea comend:

Comanda locateComanda locate folosete o baz de date local n care sunt indexate toate fiierele. Comanda locate este mai rapid dect comanda find, dar pune la dispoziie un singur criteriu de cutare: numele fiierului. Un alt dezavantaj este faptul c baza de date trebuie reactualizat periodic pentru a conine informaii despre fiierele noi create n sistem. Actualizarea se realizeaz cu ajutorul comenzii updatedb.

Comanda ntoarce o list cu toate fiierele ale crui nume conine irul de caractere precizat ca argument.

Unele distribuii Linux folosesc comanda slocate n locul comenzii locate. Avantajul comenzii slocate este acela c nu permite afiarea fiierelor din directoarele n care utilizatorul nu are drepturi de acces.

Comanda whereisAceast comand poate fi folosit pentru a cuta ntr-un set restrns de locaii din sistem, de exemplu directoarele cu fiiere binare, directoarele cu biblioteci sau directoarele cu pagini de manual. Comanda whereis nu poate fi folosit pentru a cuta n directoarele utilizatorului. Comanda va cuta toate fiierele care ncep cu irul de caractere precizat ca argument. De exemplu, pentru a localiza comanda ls sau gcc folosim urmtoarea comand:

Comanda va afia calea ctre executabil, dar i calea ctre pagina de manual a comenzii.

Comanda whichFolosind comanda which se poate obine calea ctre executabile care pot fi rulate din linia de comand. De exemplu, pentru a afla calea ctre comanda chmod se va folosi comanda urmtoare:

n mod implicit, comanda which returneaz doar prima potrivire gsit, iar pentru a afia lista complet a potrivirilor se va folosi opiunea -a.Comanda typeAceast comand poate fi folosit pentru a determina modul de interpretare a unei comenzi, de exemplu comand integrat n shell, comand extern sau alias.

Un exemplu de comand integrat n shell este:

Pentru o comand extern rezultatul comenzii type este calea ctre executabil:

n cazul unui alias este afiat comanda echivalent:

6. Drepturi de accesO prim msur de protecie a datelor o reprezint drepturile de acces la fiiere. Att timp ct un utilizator nu are drepturi de administrator pe un anumit computer, acel utilizator se supune drepturilor de acces la fiiere.

Tabelul 5 prezint drepturi ce pot fi configurate pentru un fiier, fr a particulariza la un anumit tip de sistem de fiiere.

DreptDescriere

citiredreptul de a deschide i citi coninutul unui fiier

scrieredreptul de a scrie ntr-un fiier

execuiedreptul de executa un fiier (aplicaie) sau, pentru directoare, dreptul

de a intra ntr-un director

modificaredreptul de a modifica datele dintr-un fiier existent

tergeredreptul de a terge un fiier

Tabelul 5.

6.1 Utilizatori i grupuri de utilizatori vs. liste de accesExist dou metode mai ntlnite pentru definirea drepturilor de acces la fiiere:

drepturi de acces la nivel de utilizator/grup. liste de acces Access Control Lists (ACL).

Prima metod (drepturi de acces la nivel de utilizator/grup) const n definirea unor drepturi pentru urmtoarele entiti:

posesorul unui fiier (user); grupul care deine fiierul (group); toi ceilali utilizatori (others).

Un utilizator se poate afla n mai multe grupuri. Aceast metod este cea mai folosit cale pentru definirea drepturilor de acces. Metoda ofer un nivel de protecie suficient pentru majoritatea situaiilor, ocupnd un spaiu limitat.

n cadrul sistemului bazat pe liste de acces, unui fiier i se pot asocia mai muli utilizatori i/sau grupuri de utilizatori. Pentru fiecare dintre aceste entiti pot fi configurate mai multe tipuri de drepturi. Aceast variant poate fi privit ca o extindere a sistemului cu drepturi de acces prezentat anterior. Complexitatea poate face ca sistemul s fie destul de greu de ntreinut.

6.2 Clasificarea drepturilor de accesSistemele de fiiere din mediile Unix care au implementate standard drepturile de acces la nivel de user/grup au la baz urmtorul set de drepturi de acces:

citire (read) deschidere i citire de fiiere; scriere (write) creare i scriere de fiiere;

execuie (execute) execuie fiiere/intrare n directoare;

n aceste sisteme de fiiere exist 3 entiti pentru care poate fi stabilit orice combinaie a drepturilor definite mai sus:

utilizator (user) posesorul fiierului;

grup (group) grupul de care aparine fiierul;

alii (others) utilizatorii care nu fac parte din grupul fiierului i nici nu sunt posesori.

6.3 Vizualizarea drepturilor de accesPentru a vedea drepturile de acces pentru un anumit fiier este suficient utilizarea comenzii ls cu parametrul -l (sau a comenzii ll). Spre exemplu, pentru a vedea drepturile de acces asupra unui fiier, transmitem ca parametru comenzii ll direct numele fiierului:

Drepturile de acces sunt date de primele 10 caractere din ieirea comenzii ll:

primul caracter reprezint tipul fiierului:

- = fiier normal

d = director

p = pipe

b = dispozitiv bloc

c = dispozitiv caracter

l = legtur simbolic

urmtoarele 3 caractere (rw-) reprezint drepturile de acces pentru utilizatorul root, care este deintorul fiierului; se observ c utilizatorul are doar drepturile de citire respectiv scriere, dar lipsete dreptul de execuie;

urmtoarele 3 caractere (r--) reprezint drepturile de acces pentru utilizatorii care fac parte din grupul root; se observ c este prezent doar dreptul de citire, dar lipsesc drepturile de scriere i execuie;

urmtoarele 3 caractere (r--) reprezint drepturile de acces pentru utilizatorii care nu sunt root i nici nu fac parte din grupul root; se observ c este prezent doar dreptul de citire, dar lipsesc drepturile de scriere i execuie;

Exist dou moduri de reprezentare a drepturilor:

n form numeric: pentru fiecare entitate exist o cifr n baza 8 care descrie drepturile, cte un bit pentru fiecare drept;

n form literar: drepturile sunt referite direct prin iniiala lor, pentru fiecare tip de entitate.

Astfel, pentru exemplul de mai sus, avem drepturile:

rw-r--r-- n form listing; 110100100 n form binar; 644 n form octal;

u=rwx g=r o=r n form literal.

6.4 Modificarea proprietarului/grupului i a drepturilor de accesn sistemul Linux utilitarele de baz sunt chown i chmod. Primul ofer posibilitatea schimbrii proprietarului i a grupului cruia i aparine respectivului fiier, n vreme ce al doilea permite modificarea drepturilor.

Sintaxa comenzii chown este: chown utilizator[:grup] n exemplul de mai jos a fost modificat proprietarul i grupul fiierului:

Dac se dorete modificarea utilizatorului sau a grupului, se folosete doar o parte a sintaxei:

n mediul Linux, un utilizator neprivilegiat nu poate schimba proprietarul i/sau grupul unui fiier. n Linux, comanda chown este folosit doar de utilizatorul privilegiat.

Comanda chmod permite modificarea drepturilor de acces ale unui fiier. Comanda poate fi folosit doar de utilizatorul ce deine fiierul sau de utilizatorul privilegiat. Noile drepturi ale fiierului pot fi precizate n form literal sau octal.

Pentru schimbarea drepturilor se va folosi mai nti forma literal. Drepturile pot fi precizate pentru oricare dintre cele trei niveluri de privilegiu: utilizator, grup, ali utilizatori printr-o singur liter: u, g, o. Drepturile pot fi:

adugate prin folosirea operatorului +; nlturate prin folosirea operatorului -; precizate explicit prin folosirea operatorului =.

n format octal este suficient o singur comand pentru a modifica simultan drepturile pentru toate cele trei grupuri de acces.


Recommended