m8 utilizatori si grupuri

28
UNIUNEA EUROPEANĂ GUVERNUL ROMÂNIEI MINISTERUL MUNCII, FAMILIE ŞI PROTECŢIEI SOCIALE AMPOSDRU Fondul Social European POS DRU 2007-2013 Instrumente Structurale 2007 - 2013 OI POS DRU MINISTERUL EDUCAŢIEI, CERCETĂRII,TINERETULUI ŞI SPORTULUI Investeşte în oameni! ATENŢIONARE! Conţinutul acestei platforme de instruire a fost elaborat în cadrul proiectului Dezvoltarea resurselor umane în educaţie pentru administrarea reţelelor de calculatoare din şcolile româneşti prin dezvoltarea şi susţinerea de programe care să sprijine noi profesii în educaţie, în contextul procesului de reconversie a profesorilor şi atingerea masei critice de stabilizare a acestora în şcoli, precum şi orientarea lor către domenii cerute pe piaţa muncii. Conţinutul platformei este destinat în exclusivitate pentru activităţi de instruire a membrilor grupului ţintă eligibil în proiect. Utilizarea conţinutului în scopuri comerciale sau de către persoane neautorizate nu este permisă. Copierea, totală sau parţială, a conţinutului de instruire al acestei platforme de către utilizatori autorizaţi este permisă numai cu indicarea sursei de preluare (platforma de instruire eadmin.cpi.ro). Pentru orice probleme, nelămuriri, sugestii, informaţii legat e de aspectele de mai sus vă rugăm să utilizaţi adresa de email: [email protected] Acest material a fost elaborat de Cristian Oftez, în cadrul S.C. Centrul de Pregătire în Informatică S.A., partener de implementare a proiectului POSDRU /3/1.3/S/5. Versiunea materialui de instruire: V2.0 eAdmin

Upload: pilat-mihaela

Post on 29-Sep-2015

40 views

Category:

Documents


5 download

DESCRIPTION

retele

TRANSCRIPT

  • UNIUNEA EUROPEAN

    GUVERNUL ROMNIEI

    MINISTERUL MUNCII, FAMILIE I PROTECIEI SOCIALE

    AMPOSDRU

    Fondul Social European POS DRU 2007-2013

    Instrumente Structurale

    2007 - 2013

    OI POS DRU

    MINISTERUL EDUCAIEI,

    CERCETRII,TINERETULUI I SPORTULUI

    Investete n oameni!

    ATENIONARE!

    Coninutul acestei platforme de instruire a fost elaborat n cadrul proiectului Dezvoltarea resurselor umane n educaie pentru administrarea reelelor de calculatoare din colile romneti prin dezvoltarea i susinerea de programe care s sprijine noi profesii n educaie, n contextul procesului de reconversie a profesorilor i atingerea masei critice de stabilizare a acestora n coli, precum i orientarea lor ctre domenii cerute pe piaa muncii. Coninutul platformei este destinat n exclusivitate pentru activiti de instruire a membrilor grupului int eligibil n proiect.

    Utilizarea coninutului n scopuri comerciale sau de ctre persoane neautorizate nu este permis.

    Copierea, total sau parial, a coninutului de instruire al acestei platforme de ctre utilizatori autorizai este permis numai cu indicarea sursei de preluare (platforma de instruire eadmin.cpi.ro).

    Pentru orice probleme, nelmuriri, sugestii, informaii legate de aspectele de mai sus v rugm s utilizai adresa de email: [email protected]

    Acest material a fost elaborat de Cristian Oftez, n cadrul S.C. Centrul de Pregtire n Informatic S.A., partener de implementare a proiectului POSDRU /3/1.3/S/5.

    Versiunea materialui de instruire: V2.0

    eAdmin

  • 8. Utilizatori i accesul la resurse Utilizatori i Grupuri de utilizatori

    Linux este un sistem de operare multi-user i multi-tasking, drept urmare trebuie s avem mecanisme care s ofere control deplin asupra accesului n sistem. Ca i n alte sisteme de operare, n Linux beneficiem de conturi de utilizatori, prin care ne putem desfura activitile. Fiecare utilizator are o parol i face parte din cel puin un grup de utilizatori un grup de utilizatori este un set de utilizatori, care ar putea avea ceva n comun, i sunt grupai astfel pentru o mai bun organizare: putem grupa de exemplu toi studenii unei faculti n grupul studeni i toi profesorii n grupul profesori. Motivul gruprii utilizatorilor este posibilitatea de a stabili accesul la resurse ale sistemului la un nivel mai general dect cel de utilizator dar i acest lucru este posibil, dat fiind un numr redus de utilizatori). Sistemul de permisiuni stabilete clar cine i cum poate accesa fiierele sistemului. Ca meniune, putem afla numele utilizatorului curent cu ajutorul comenzii whoami i grupurile din care face parte prin comanda groups. Fiecare utilizator din sistem va avea de asemenea un director privatat n directorul /home, unde de regul va pstra fiierele personale. De asemenea, acest director va avea permisiunile setate n aa fel nct s fie accesibil doar proprietarului. Excepie la aceast regul este superuser-ul root, care practic poate face orice ntr-un sistem Linux. Adugarea de noi ueri i grupuri se poate face doar de ctre root, neexistnd ns o limit de utilizatori sau grupuri. Pentru administrarea conturilor i grupurilor de utilizatori, avem o serie de opiuni, de la folosirea utilitarelor grafice cea mai simpl metod de altfel pn la folosirea unei game mari de comenzi ce vor fi descrise n continuare. Crearea conturilor de utilizator Pentru crearea unui nou utilizator se va folosi comanda useradd, cu sintaxa urmtoare: useradd [opiuni] . Opiunile cele mai ntlnite sunt: c - comentariu d - directorul home al utilizatorului. Implicit este /home/ e - data de expirare a contului, n format AAAA-LL-ZZ (an, lun, zi) g - numele sau numrul grupului primar al uerului G - Lista cu grupuri adiionale n care user-ul nou creat va fi inclus D - folosit ca atare, va afia setrile implicite, iar folosit n conjuncie cu

    alte opiuni, schimb setrile implicite pentru opiunile respective. De exemplu, putem schimba shell-ul folosit implicit din bash n sh prin comanda useradd D s /bin/sh

    m - aceast opiune va avea ca efect crearea directorului home al utilizatorului dac acesta nu exist.

    2

    eAdmin

  • EXEMPLU: Comanda useradd m user2 va crea un cont de utilizator nou, numit user2.

    Crearea unei noi parole pentru un cont de utilizator Pentru ca orice cont de utilizator s fie funcional, acesta trebuie neaprat s aib asociat o parol. Comanda pentru crearea sau schimbarea unui cont este passwd. Aceasta poate fi folosit fr nici un parametru, cnd va ncerca schimbarea parolei contului logat n momentul respectiv, sau poate avea ca parametru numele contului pentru care se ncearc atribuirea unei noi parole. Este important de amintit, ca un cont nu este activ i deci nu poate fi folosit dac nu are atribuit o parol.

    EXEMPLU: Comanda passwd user2 va seta parola pentru contul creat la pasul anterior.

    Grupuri de utilizatori Dup cum am amintit mai devreme, conturile fac parte din cel puin un grup de utilizatori; pentru control asupra acestora, putem folosi comenzile:

    groupadd creaz un nou grup (EXEMPLU: groupadd test) groupmod modific un grup. (EXEMPLU: groupmod n

    schimb numele unui grup de utilizatori deja existent. tergerea conturilor de utilizator i a grupelor de utilizatori n cazul n care dorim s tergem fie un cont fie un grup de utilizatori, putem folosi urmtoarele comenzi: userdel [-r] - pentru tergerea contului specificat.

    Parametrul opional r menioneaz c va fi ters i directorul home al respectivului utilizator.

    groupdel - aceast comand terge grupa specificat din lista de grupuri.

    Comenzi adiionale usermod modific detaliile conturilor deja existente. Putem de exemplu,

    folosind comanda usermod L user2 (-L de la Lock), s blocm accesul la un cont. Pentru a debloca un cont, trebuie folosit parametrul U (Unlock).

    adduser, addgroup, deluser, delgroup reprezint variantele mai uor de folosit ale comenzilor explicate mai devreme. Diferena const n faptul c acestea sunt mai prietenoase cu utilizatorul, n sensul c n locul parametrilor adiionali, v vor ntreba ntr-un mod interactiv, detaliile necesare.

    gpasswd este un utilitar folosit pentru administrarea grupurilor de utilizatori. Parametrii acceptai de acest utilitar sunt urmtorii:

    -a - adaug utilizatorul n grup -d - elimin utilizatorul din grup

    3

    eAdmin

  • Important de menionat este faptul c informaiile despre utilizatori i grupe sunt meninute n dou fiiere importante: /etc/passwd pentru utilizator i /etc/group. Aceste fiiere au un format strict, foarte bine definit: fiecare linie reprezint o intrare, i are mai multe cmpuri separate prin caracterul :. Pentru fiierul /etc/passwd formatul este:

    nume:parol:id_utilizator:id_grup:comentariu:director_home:shell - SFAT: pentru a viziualiza coninutul fiierului /etc/passwd putei folosi comanda less /etc/passwd. Ca meniune, n majoritatea cazurilor, cmpul parol este completat cu un singur caracter x, ceea ce simbolizeaz faptul c parola este criptat i stocat n fiierul /etc/shadow.

    Pentru fiierul /etc/group formatul este: nume_grup:parol:id_grup:user1,user2,... este similar cu fiierul /etc/passwd, dar conine informaii despre grupuri. Ultimul cmp al fiecrei intrri reprezint lista toturor utilizatorilor din grupul respectiv, desprii prin virgule.

    Se pot trage o serie de concluzii: att utilizatorii ct i grupurile au un identificator numeric numit id, folosit

    pentru reprezentare. n momentul n care este creat un nou cont de utilizator, se creaz i o

    grup cu acelai nume, i acelai id, din care acesta va face parte.

    4

    eAdmin

  • grupurile pot avea i ele parole, permind existena grupurilor privilegiate

    putem aduga i terge utilizatori din grupe, exclusiv prin editarea fiierelor descrise mai sus. Acest procedeu nu este recomandat ns, i este preferabil folosirea utilitarelor descrise mai devreme.

    Putem restriciona accesul anumitor utilizatori prin comanda usermod Putem afla oricnd care utilizatori sunt logai folosind comanda who, care ne va specifica i pe ce consol sunt acetia logai. Administrarea folosind interfa grafic Administrarea n mod grafic presupune folosirea instrumentelor universal valabile, distribuite cu mediul grafic folosit, n cazul de fa, GNOME - un mediu desktop foarte des ntlnit. Aceste instrumente se numesc GNOME System Tools (GST), i reprezint un set integrat de utilitare ce pot fi folosite n configurarea diverselor aspecte ale sistemului de operare printr-o interfa grafic, foarte uor de folosit. GNOME System tools se bazeaz pe un set de module numit System Tools Backends. Acesta are rolul de a oferi o interfa comun (numit Dbus), independent de platform (fie Linux, FreeBSD sau alte sisteme UNIX), prin care se pot citi i modifica diverse setri de sistem. Pn la apariia acestui set de module, era practic imposibil s se creeze utilitare care s funcioneze perfect indiferent de platform, iar n prezent sunt suportate o mulime de distribuii: Redhat, Mandrake, Debian (i variante precum Ubuntu), Suse, Fedora. Utilitarul folosit pentru administrarea userilor i grupurilor se numete users-admin. Aceast aplicaie trebuie lansat cu privelegii de root, altfel nu va putea avea acces la diferitele fiiere de system ce trebuiesc modificate. Utilitarul se bazeaz, dup cum am menionat mai devreme, pe existena mediului grafic, iar fr acesta nu va putea rula. Pentru lansarea sa, exist mai multe posibiliti: Din panoul (implicit superior) prin intermediul meniului System ->

    Administration -> Users and Groups. Dintr-un terminal virtual, ce ruleaz n mediul grafic. Aceast opiune

    presupune de asemenea i folosirea unor utilitare adiionale pentru a v autentifica drept root (precum su sau sudo, pe care le vom analiza mai trziu). De altfel shortcut-urile folosite drept prima alternativ, se bazeaz pe un astfel de utilitar, numit gksu. Vei observa de altfel c suntei rugai s v autentificai drept root nainte ca orice utilitar de configurare s porneasc.

    Depinznd de distribuia sau chiar de versiunea distribuiei pe care o rulai, putei fi atenionat c GNOME System Tools nu este oficial suportat pentru distribuia dvs. Acest mesaj apare i n cazul versiunii 5.0.1 a Debian-ului, i este datorat unei schimbri neanunate n cadrul distribuiei. Utilizatorul poate trece peste aceast atenionare n cazul de fa, fr team c utilitarul n cauz nu va funciona corect.

    5

    eAdmin

  • n imaginea de mai sus se poate observa lista cu utilizatorii existeni, ct i diverse informaii despre acetia. Interfaa utilitarului este una simpl, i permite adugare sau tergerea de grupuri i utilizatori cu uurin. Pentru a aduga un nou utilizator, trebuie apsat butonul Add user, care va deschide o nou fereastr n care vor fi introduse diverse informaii despre noul utilizator. Fereastra va avea 3 panouri: Account, User privileges i Advanced. Primul panou, conine informaiile generale, precum nume, adres, telefon i o zon n care se poate alega parola pentru noul utilizator: manual, sau generat automat. Cel de-al doilea panou specific drepturile generale ale utilizatorului vizat, iar ultimul panou ne ofer posibilitatea de a specifica setri neconvenionale pentru utilizatorul n cauz, de la alegerea unui director home diferit, pn la setarea unui user id manual i chiar selectarea shell-ului pe care utilizatorul l va folosi. n mod similar se pot modifica sau terge utilizatorii selectai prin butoanele Properties i Delete. Butonul Manage Groups este folosit pentru administrarea grupurilor de utilizatori: se pot aduga noi grupuri de utilizatori sau terge i modifica grupurile deja existente. Pentru a modifica un grup, acesta trebuie selectat din lista afiat, urmat de acionarea butonului Properties.

    6

    eAdmin

  • Din fereastra nou creat, se poate modifica lista de utilizatori a grupului (prin bifarea, respectiv debifarea utilizatorilor din lista afiat). Putem modifica identificatorul grupului de utilizatori ct i aduga sau scoate utilizatori n grup, ntr-o manier mult mai uoar.

    7

    eAdmin

  • Sistemul de permisiuni Toate sistemele de operare Linux / Unix au fost gndite din start drept sisteme multi-user, multi-tasking, capabile s gzduiasc mai muli utilizatori. Din acest motiv, a fost necesar un sistem de securitate, bazat pe permisiuni cu un nivel de granularitate mic, pentru a restriciona accesul (att la scriere ct i la citire) a anumitor resurse. Fiind un sistem multi-user adevrat, deseori folosit pentru servere, Linux are un sistem de permisiuni ncorporat, foarte bine pus la punct. Acest fapt poate cauza probleme pentru utilizatorii noi (mai ales celor obinuii cu sistemul implicit access-all folosit n Windows), astfel multe erori pot fi cauzate datorit permisiunilor setate incorect. Sistemul de permisiuni folosit de Linux este total independent de distribuie, i nu se schimb cu aceasta. Fiecare fiier are ataat un set de permisuni simple, care dicteaz accesul la resursa respectiv. Permisiunile asupra fiierelor sunt definite pentru 3 mari grupuri: proprietar, grup i ali utilizatori. Astfel, se pot defini un set de reguli individuale pentru fiecare din grupurile menionate mai sus, bazate pe un sistem simplu de acces. Drepturile de acces la fiiere se mpart i ele n trei categorii: r read (citire), w write (scriere), x execute (execuie); acestea pot fi folosite n orice combinaie, pentru definirea oricrui nivel de acces. Combinaii de cele 3 drepturi menionate mai sus trebuiesc specificate pentru fiecare grup n parte, deci vom avea 3 x 3 specificatori de acces pentru fiecare fiier, prin care vom descrie accesul fiecrei grupe (n ordinea amintit). Menionm de asemenea, c, pentru ca acest sistem de permisiuni s funcioneze, trebuie s existe o referin asupra identitii proprietarului i al grupului n esen, fiecare fiier va avea definit un utilizator proprietar, un grup proprietar, ct i 9 permisiuni individuale. Pentru a vedea permisiunile unor resurse dintr-un sistem Linux, putem folosi comanda ls l.

    Rezultatul afiat poate fi interpretat astfel: directorul curent are 3 fiiere: informaii, user1 i user2. Fiecare linie conine informaii despre fiierul n cauz: primul caracter semnific tipul de fiier, secvena de 9 caractere reprezint permisiunile pentru fiecare grup n parte, urmtorul numr reprezint numrul de legturi al directorului implicit, un director nou creat va avea 2. n continuare avem proprietarul, respectiv grupul proprietar al resursei (Observaie n cazul fiierului user2, nu avem menionate nite nume, ci identificatorul utilizatorului, respectiv grupei), dimensiunea n bytes, data i ora la care fiierul a fost creat, iar n final, numele fiierului. Pentru a putea nelege mai bine cum funcioneaz sistemul de permisiuni, putem s analizm n detaliu linia pentru fiierul user1: spre deosebire de

    8

    eAdmin

  • primul fiier, primul caracter este d (n loc de -), cu semnificaia c user1 este de fapt un director. Ca proprietari, acesta are 2: utilizatorul user1, i grupul de utilizatori user1. n continuare dac examinm secvena de 9 caractere pentru directorul user1 vom vedea c acesta este rwxr-xr-x, iar dac mprim aceast secven n grupuri de cte 3 caractere vom obine permisiunile asupra acestui fiier ale fiecrei grupe. Astfel deducem c utilizatorul user1 (owner) are drepturi rwx, grupul de utilizatori user1 (group) are drepturi r-x, iar toi ceilali (others), au drepturi r-x. Pentru orice fiier, permisiunile au urmtoarele efecte: permisiunea read (r) ofer acces la citirea fiierului; pentru directoare,

    ofer acces la lista sa de fiiere permisiunea write (w) permite modificrile n fiierul vizat; pentru

    directoare, ofer posibilitatea de a terge sau a crea fiiere n director. execute (x) permite execuia fiierului drept o comand. n cazul

    directoarelor, aceast permisiune ofer acces n director, i trebuie setat pentru a putea accesa coninutul acestuia.

    n cazul directoarelor, permisiunile pot crea confuzii mari nceptorilor: r-- - user-ul, grupul sau others pot lista doar coninutul directorului. Nu se

    poate face nici o schimbare asupra sa. rw- - permisiunea de write nu are nici un efect n cazul directoarelor n

    absena permisiunii de execuie (x), astfel, acest mod rezult cu un comportament identic cu cel din cazul precedent.

    r-x - permite listare, precum i accesul la fiierele din cadrul directorului, dar nu ofer posibilitatea modificrii acestora. n acest caz, prin acces, nelegem c putem vizualiza, modifica sau executa fiierele din cadrul directorului exclusiv pe baza permisiunii acestora.

    --x - fiierele din director pot fi accesate, dar coninutul directorului nu poate fi listat, astfel nct, trebuie s cunostem n prealabil numele fiierelor coninute.

    rwx avem acces total asupra fiierelor din director, atta timp ct permisiunile individuale ale fiierelor permit acest lucru.

    Observaie: Utilizatorul root nu este afectat n nici un fel de ctre permisiunile impuse asupra unui fiier, putnd astfel s accese, modifice sau execute orice fiier. Acest fapt, spre deosebire de sistemele de operare Microsoft Windows, confer user-ului root putere deplin n sistem, ceea ce poate constitui un mare avantaj sau un mare pericol de securitate.

    Sistemul de permisiuni numerice (sau octal) Dei sistemul de permisiuni se refer implicit la acelai lucru, exist mai multe feluri de reprezentare. Printre acestea se numr sistemul octal de permisiuni, care folosit corespunztor de ctre un utilizator experimentat, poate eficientiza procesul de modificare al permisiunilor ntr-un sistem Linux. Sistemul octal este unul simplu i presupune folosirea a trei cifre ce pot lua valori ntre 0 i 7 (8 valori distincte, de unde vine de altfel i denumirea

    9

    eAdmin

  • reprezentrii), fiecare cifr combinnd permisiunile individuale pentru cele 3 grupuri menionate mai devreme, respectiv drepturile de acces pentru owner, group i others (n aceast ordine). Din moment ce o singur cifr este folosit pentru a reprezenta trei atribute diferite, trebuie folosit un sistem de separare: permisiunile sunt reprezentate prin suma puterilor lui 2. Astfel valorile 1 (execuie), 2 (scriere) i 4 (citire) pot fi combinate n orice fel astfel nct permisiunile particulare s fie identificabile (de exemplu, dac dorim permisiune de scriere i citire dar nu de execuie, adunm valorile 2 cu 4, iar pentru citire i execuie am aduna 1 cu 4). Sistemul devine mult mai clar n momentul n care se folosete o reprezentare binar a fiecrui set de permisiuni:

    Cifr Echivalent text Binar

    0 --- 000

    1 --x 001

    2 -w- 010

    3 -wx 011

    4 r-- 100

    5 r-x 101

    6 rw- 110

    7 Rwx 111

    Din tabelul anterior, se poate observa clar, c distribuia celor 3 bii ai fiecrei cifre (fiecare reprezentnd o putere a lui 2) este de aa natur nct se pot specifica permisiunile individuale. Astfel primul bit reprezint permisiunea de citire (activat doar pentru valori de 1), al doilea bit reprezint permisiunea de scriere, iar ultimul bit controleaz permisiunea de execuie. Cazuri particulare de aplicare ale sistemului de permisiuni Pe lng scopul sistemului de permisiuni specific unui sistem de operare precum Linux, n care acestea sunt folosite exclusiv pentru restricii la sistemul de fiiere local (din motive de securitate), exist i cazuri speciale. Serverele web atribuie n mod normal permisiunile uerului ce reprezint acest serviciu clientului web care se conecteaz la serverul n cauz. n acest context, user-ul ce reprezint serviciul web nu va fi de regul n acelai grup cu nici un alt user de pe sistem, deci i se vor aplica restriciile corespunztoare grupului others. Ca urmare imediat, fiierele oferite prin protocolul HTTP fiiere html, imagini, etc. - necesit de regul, permisiuni 644, din moment ce user-ul n cauz are nevoie de acces de citire la fiier. n cazul fiierelor de tip script

    10

    eAdmin

  • permisiunile standard sunt 755, din moment ce grupurile de permisiuni others i group au nevoie i de drepturi de execuie. Fiierele de pe un server FTP devin proprii utilizatorului care le ncarc. Acestea primesc implicit nivelul 644, dar n funcie de setrile serverului FTP, acestea pot lua alte valori.

    Schimbarea proprietarului sau grupului unui fiier Dup cele menionate anterior, este evident faptul c orice fiier sau director din sistemul de fiiere Linux va avea un user i un grup proprietar, ceea ce permite definirea unor permisiuni particularizate asupra resurselor disponibile. n mod implicit, creatorul unui fiier sau director va fi i proprietarul acestuia, iar grupul proprietar va fi grupul din care face parte utilizatorul respectiv, ns aceste proprieti se pot schimba (numai de ctre utilizatorul root). Pentru schimbarea proprietarului unui fiier se folosete comanda chown.

    Sintaxa comenzii este urmtoarea: chown [-R] [user][:][group] tinta1 [...]

    Primul parametru specific o schimbare de proprietar recursiv n cazul n care inta este un director. Cel de-al doilea parametru este folosit pentru alegerea utilizatorului, care va fi proprietarul intei (ns poate fi folosit i pentru atribuirea grupului proprietar). Dup aceti parametrii necesari, urmeaz cel puin un fiier sau director inta, ns pot fi alese oricte inte (separate prin spaii).

    Pentru schimbarea grupului proprietar asociat unei resurse se mai poate folosi i comanda chgrp (prescurtare de la change group). Dei acest rol poate fi ndeplinit cu succes prin comanda chown, aceasta este rezervat uerului root spre deosebire de chgrp, care poate fi folosit de ctre orice utilizator (cu limitarea schimbrii grupului ntr-unul din care utilizatorul face parte). Sintaxa comenzii este urmtoarea:

    chgrp grup tinta1 [...] Primul parametru specific grupul cu care resursa int va fi asociat, al doilea parametru reprezint resursa int, putnd urma orici ali parametrii ce specific fiiere sau directoare adiionale pentru care este dorit schimbarea respectiv. Schimbarea permisiunilor Permisiunile asociate unui fiier sau director ntr-un sistem Linux, pot fi schimbate folosind comanda chmod. n contextul interfeei grafice, acestea se pot schimba de regul prin intermediul File Manager-ului folosit de exemplu, n cazul n care se folosete Nautilus, care este folosit implicit de ctre GNOME, permisiunile se schimb folosind tab-ul Permissions al ferestrei de proprieti asociate elementului vizat. Sintaxa comenzii chmod este urmtoarea:

    computer1:/# chmod [opiuni] permisiuni int

    11

    eAdmin

  • Opiunile pot fi: -R, permisiunile vor fi setate recursiv -f, mod forat -v, mod verbose (cu afiare pentru fiecare fiier procesat) -c, se afieaz informaii numai n cazul n care sunt efectuate schimbri

    asupra fiierului int Permisiunile pot fi: Permisiuni n format octal Permisiuni n format text n cazul permisiunilor text, se folosete urmtoarea sintax:

    [grup_permisiuni][operaie][permisiuni]

    grup_permisiuni reprezint grupul de permisiuni asupra cruia se va efectua modificarea i poate lua urmtoarele valori:

    u pentru grupul de permisiuni owner g pentru grupul de permisiuni group o pentru grupul de permisiuni others a pentru toate grupurile de mai sus

    operaie reprezint modul n care va fi efectuat schimbarea: = - atribuie n mod direct - - nltur permisiunile specificate + - adaug permisiunile specificate

    permisiuni reprezint drepturile efective ce urmeaz a fi schimbate: r - permisiune de citire w - permisiune de scriere x - permisiune de execuie t - seteaz bitul sticky s - seteaz SUID sau SGID

    Exemplu: Comanda chmod ug+rw,o+r fiier va seta permisiunile de citire i de

    scriere pentru grupurile owner i group i permisiunea de citire pentru grupul others.

    Comanda chmod 664 fiier va avea acelai efect ca i anterioar. Se atribuie permisiunea de 6 (2+4, adic scriere i citire) grupurilor owner i group i permisiunea de 4 (doar citire) grupului others.

    Tipuri de fiiere Aa cum am observat mai devreme, primul caracter din irul de permisiuni simbolizeaz tipul de element cu care avem de-a face. Astfel d nsemna c este vorba de un director, pe cnd - reprezint un fiier. Pe lng acestea exist i alte tipuri de fiiere: d director - fiier l legtur s socket UNIX p pipe c i b fiiere dispozitiv

    12

    eAdmin

  • Sistemul de fiiere Ca orice sistem de operare, Linux are nevoie de un sistem de fiiere (numit File System) pentru a putea gestiona informaiile i datele stocate n sistem. Un sistem de fiiere n termeni tiinifici nu reprezint nimic altceva dect o metod de organizare i stocare a datelor ntr-un calculator. Sistemele de fiiere pot fi folosite pentru dispozitive propriu-zise, precum hard discuri sau uniti CD-ROM, sau pot facilita accesul la resurse disponibile ntr-o locaie diferit printr-un mediu de comunicare cum ar fi o reea de calculatoare (protocoale de genul NFS sau SMB). Desigur, conform ultimelor tendine n materie de organizare a sistemelor informatice, exist i sisteme de fiiere destinate accesri unor resurse virtuale, cum este de exemplu, procfs (sau Process file system). Putem concluziona aadar, faptul c un sistem de fiiere nu este nimic altceva dect o metod de organizare, stocare i accesare a datelor informatice prezente pe un mediu de calcul. Sistemul de fiiere Linux urmeaz toate aceste principii, cu meniunea c este oarecum diferit fa de sistemele de fiiere utilizate de alte sisteme de operare. Putem caracteriza orice sistem de tip UNIX printr-o afirmaie foarte simpl: Dac ne referim la un sistem de tip UNIX, orice entitate care nu este un fiier, este un proces. Utiliznd aceast ideologie foarte simpl, orice sistem Linux poate fi descris pe scurt foarte precis. Exact ca i un sistem UNIX, Linux nu deosebete un fiier de un director n nici un fel, acesta nefiind altceva dect un fiier ce conine numele fiierelor incluse. Urmnd aceast structur, programele (i evident i serviciile), fiiere text sau binare, pn i dispozitive precum tastatura i mouse-ul, sunt considerate fiiere. Pentru o organizare eficient a acestor fiiere, s-a optat pentru structurarea lor ntr-o manier ierarhic, precum a altor sisteme de operare. Pentru simplitate, vom reprezenta imaginea unui sistem de fiiere Linux precum cea a unui arbore, cu ramuri care la rndul lor au alte ramuri (directoare) care se termin n frunze (fiiere), ns pe msur ce avansm, vom observa c aceast reprezentare nu este n ntregime corect. Tipuri de fiiere Marea majoritate a fiierelor dintr-un sistem Linux sunt fiiere obinuite (sau fiiere normale, de date) care conin date precum text, imagini, fiiere audio sau programe. Urmnd ideea c totul ntr-un sistem Linux este un fiier, exist ns excepii pe lng fiierele obinuite: Directoarele (d) sunt fiiere ce conin o list a numelor fiierelor coninute

    de directorul n cauz. Fiiere speciale (c) sunt n general folosite pentru INPUT (introducere de

    date) sau OUTPUT (extragere de date). Aceste fiiere reprezint devices (sau dispozitive) i se gsesc n general n directorul /dev

    13

    eAdmin

  • Fiiere SOCKET (s) reprezint fiiere speciale folosite pentru comunicarea inter-procese printr-un mediu de reea. Aceste fiiere sunt folosite pentru comunicaii ntre diferite calculatoare sau reele de calculatoare.

    Fiiere PIPE (p) sunt un fel de fiiere SOCKET cu rolul de a facilita comunicarea ntre procesele n desfurare.

    Legturile (l) sunt folosite pentru a crea o legtur ntre un director sau fiier astfel nct acetia s fie vizibili i n alte locaii.

    n lista de mai sus, se observ c fiecare tip de fiiere are o liter delimitat de paranteze. Aceasta reprezint prescurtarea tipului respectiv de fiier, i poate fi observat n prima liter a irului de permisiuni afiat prin comanda ls.

    Partiii Principalul mediu de stocare al datelor este discul magnetic (sau hard disk) datorit vitezei mari de acces a datelor i posibilitii de scriere i citire aleatoare, precum i datorit persistenei i siguranei datelor. Majoritatea utilizatorilor au idee despre ceea ce nseamn partiionarea unui disc, dat fiind faptul c aceasta este o facilitate oarecum independent de sistemul de operare, i fiindc orice sistem de operare posed capabilitatea de a crea sau terge o partiie. Principalul motiv pentru care Linux folosete n mod implic mai multe partiii pentru o singur instalare este o mai bun organizare i securizare a datelor, astfel prin mprirea acestora pe mai multe partiii, se asigur ntr-o oarecare msur sigurana acestora n cazul n care ceva neateptat se petrece. Aceast abordare dateaz de la nceputurile sistemului Linux, cnd sistemul de fiiere nu posed nici un fel de sistem de jurnalizare i orice pan de curent ar fi condus la comprimiterea datelor cu care se lucra n mod activ. mprirea sistemului pe mai multe partiii avea ca rol izolarea datelor astfel nct, n cazul petrecerii unui accident, mcar o parte din date s rmn neatinse. OBSERVAIE: Este important de tiut faptul c sistemul de jurnalizare nu protejeaz mpotriva defectelor fizice alte mediului de stocare (cum ar fi blocurile stricate sau erorile logice), ci doar mpotriva ntreruperii neateptate n funcionarea sistemului. Tipuri de partiii n Linux, putem identifica dou mari tipuri de partiii: cele dedicate stocrii de date, care de altfel sunt cele mai comune ntr-un sistem i partiii de tip SWAP (sau memorie virtual) destinate suplinirii unei lipse de memorie a calculatorului. n cadrul sistemului Linux, se folosete n general comanda fdisk pentru partiionarea (automat n momentul instalrii) spaiului disponibil. Ca informaie suplimentar, sistemul de fiiere Linux codific partiiile de date

    14

    eAdmin

  • (care pot fi de tip ext3 cu jurnalizare, sau ext2 i versiuni mai vechi, fr jurnalizare) cu ajutorul codului numeric 83 i partiiile de tip SWAP folosind codul 82. Pe lng aceste tipuri de sisteme de fiiere, Linux mai ofer suport i pentru altele precum Reiser, NFS, NTFS sau FAT. De altfel, putem observa la unele sisteme aflate n producie, existena mai multor partiii de tipuri diferite: motivul pentru aceast diversitate ar putea fi pentru asigurarea unei compatibiliti cu alte sisteme de operare precum MS Windows dei Linux tie s interpreteze sisteme de fiiere tipice Windows (de exemplu NTFS sau FAT), reciproca nu este valabil, o partiie de tip ext nefiind vizibil unui sistem Windows. Partiiile de tip SWAP sunt de regul invizibile n mod normal, i sunt accesbilie exclusiv sistemului. Motivul pentru care se folosesc astfel de partiii este pentru a asigura continuarea funcionrii sistemului n cazul n care acesta nu posed suficient memorie disponibil. Existena unei partiii SWAP pentru suplinirea deficienelor de memorie fizic ce pot s apar n funcionarea sistemului a fost inventat odat cu sistemul UNIX, fiind preluat de majoritatea competitorilor. OBSERVAII: Comanda fdisk poate duce la pierderea datelor! Se recomand citirea cu

    atenie a paginii de manual asociat ct i efectuarea unui back-up n eventualitatea efecturii operaiei de partiionare.

    Dei partiia SWAP va asigura funcionarea sistemului n parametrii normali chiar i n eventualitatea n care acesta nu beneficiaz de suficient memorie fizic, este important de tiut faptul c folosete hard discul pentru acest rol, i ca urmare viteza memoriei virtuale astfel obinute va fi mult mai mic comparativ cu viteaza obinut de memoria fizic.

    Dei dimensiunea recomandat a partiiei de SWAP este n general dublul dimensiunii memoriei fizice, exist cazuri particulare unde soluii generale nu vor funciona optim. De exemplu, n cazul folosirii a dou discuri, o partiie de SWAP pe fiecare disc va aduce performane mai bune dect o singur partiie de SWAP pentru amndou, n cazul unei funcionri ce va efectua multe operaii de intrare/ieire. n general se recomand citirea documentaiei fiecrui produs software folosit pentru determinarea dimensiunii optime a partiiei de memorie virtual.

    Kernel-ul (sau inima sistemului Linux) este cel mai important fiier, i ca atare, poate beneficia de o partiie proprie /boot. Restul de spaiu disponibil poate fi partiionat n funcie de zonele importante ale sistemului Linux, ns de multe ori acestea se regsesc pe o singur partiie pentru simplitate. OBSERVAIE: Modificarea dimensiunii unei partiii deja existente i n folosin este posibil prin intermediul unor utilitare specializate, ns din aceast operaie pot rezulta pierderi de date. Se recomand efectuarea unui back-up nainte de orice astfel de operaii.

    15

    eAdmin

  • Puncte de montare n ideea celor menionate pn n acest moment, este important de precizat faptul c sistemul Linux folosete un algoritm clar pentru denumirea dispozitivelor sistemului, i hard discurile nu fac excepie. n capitolul aferent dispozitivelor n Linux, vom studia acest aspect mai n amnunt, ns pe moment, pentru simplitate, nu vom meniona nimic despre metodologia de numire a dispozitivelor. ntr-un sistem Linux, toate partiiile sunt conectate la sistem printr-un punct numit punct de montare care nu reprezint altceva dect o locaie n cadrul sistemului de fiiere unde partiia va fi montat. Pentru a ataa o nou partiie n sistem, utilizatorul trebuie s se asigure n primul rnd, c locaia n care aceast partiie urmeaz s fie montat exist, i este, preferabil, un director gol. n urma procesului de montare (pe care l vom explica n capitolele urmtoare), utilizatorul va putea s acceseze coninutul partiiei noi n directorul n care a fost montat. Acest proces este transparent i n esen face o legtur ntre dispozitivul care trebuie accesat, cu o locaie din sistem. Ca exemplu, unitatea de CD-ROM se monteaz de obicei n directorul /media/cdrom. Procesul de montare al dispozitivelor poate fi modificat, astfel nct s corespund cerinelor adminstratorului de sistem, prin modificarea coninutului fiierului /etc/fstab. Unele partiii nu se monteaz automat odat cu pornirea sistemului, altele nu sunt conectate mereu (disc-uri flash) iar altele nu pot fi montate dect de utilizatorul root. Detalii despre modaliti de modificare ale fiierului de configurare vor fi menionate n seciunile urmtoare. Pentru a afla detalii despre partiiile montate pe un sistem care funcioneaz, putem folosi comanda df pentru a afia informaii despre capacitatea, numele i punctul de montare al fiecrei partiii.

    n imaginea anterioar, se poate observa rezultatul apelrii funciei df cu parametrul -h (prescurtarea de la human, care face aranjarea informaiilor ntr-un mod mai prietenos). Se pot vedea informaii despre partiiile existente, punctul de montare, spaiul ocupat i spaiul liber, ct i partiiile SWAP inactive. Pentru descoperirea partiiei pe care se afl directoul curent, se poate apela tot comanda df cu parametrul adiional .: df -h .

    16

    eAdmin

  • Structura implicit de directoare n marea majoritate a sistemelor Linux, structura de directoare implicit este RH Linux FHS Compliant, adic respect standardele FHS (Filesystem Hierarchy Standard). Ca urmare, o structur identic, sau similar va putea fi identificat pe foarte multe sisteme Linux. n contextul n care folosim modelul arbore de reprezentare al sistemului de fiiere, atunci directorul rdcin este indicat prin caracterul / (slash), care mai este numit i root directory sau root - a nu se face confuzia cu utilizatorul root, fiind dou lucruri total diferite!

    Structurarea respectiv are rolul de a facilita folosirea sistemului Linux prin ntocmirea unor standarde. Fiecare director, aparinnd conveniei FHS, are un rol bine definit: /bin conine de regul programele prezente pe sistem. /boot fiiere de pornire ct i kernel-ul sistemului. n distribuii mai noi,

    acest director poate conine i fiierele de configurare al boot loader-ului grub.

    /dev conine referine ctre toate dispozitivele periferice, reprezentate prin fiiere.

    /etc conine majoritatea fiierelor de configurare. /home directorul home conine directoarele home ale fiecrui user din

    sistem. /opt conine de obicei programe adiionale. /proc conine fiiere cu informaii despre resursele sistemului. Se pot

    gsi astfel o sumedenie de informaii despre resursele sistemului. Pentru mai multe informaii, poate fi apelat comanda man proc.

    /root directorul home al utilizatorului root. /var locul n care sunt inute fiiere temporare, cum ar fi jurnale, liste de

    mesaje, etc.

    Reprezentarea sistemului de fiiere folosind arbori n ciuda uurinei cu care utilizatorii neleg sistemul de organizare ierarhic a sistemului de fiiere, pornind de la un director rdcin, i intrnd n subdirectoare ce conin alte directoare i fiiere, lucrurile nu stau aa i n realitate. Dei modelul de reprezentare prin arbore este unul relativ exact, nu are nici un fel de relevan cnd este raportat la modul n care datele sunt stocate pe disc n mod fizic. Fiecare partiie a unui disc poate avea propriul sistem de fiiere, fapt clar n urma celor discutate anterior, iar acestea pot fi puse mpreun pentru a forma un tot unitar. n realitate, fiecrui fiier i corespunde un identificator

    17

    eAdmin

  • numeric numit inode, identificator care va conine informaii despre coninutul, proprietarul i locaia fiierului pe disc. Revenind la scenariul n care exist mai multe partiii, este bine de tiut c fiecare partiie are propriul su set de inode-uri, putnd s apar astfel conflicte, unde dou fiiere diferite pot avea acelai inode. Fiecare identificator descrie structura de date pe disc, propritatile fiierului ct i locaia resursei la care face referin. De regul, la momentul iniializrii sistemului, se creaz un numr fix de inode-uri pe fiecare partiie, acest numr reprezentnd numrul maxim de fiiere (de orice tip chiar i directoare) care pot co-exista pe acea partiie la un moment dat. Urmnd acest sistem, cnd un fiier nou este creat, acestuia i se atribuie un inode marcat ca fiind liber. Identificatorul n cauz va primi urmtoarele informaii: proprietar, tipul de fiier, permisiuni, ora i data la care fiierul a fost creat, ora i data ultimei modificri al inode-ului curent, numrul de legturi la fiierul n cauz, o adres fizic pe disc ct i dimensiunea fiierului. Pentru a vedea inode-ul unui fiier, se poate folosi comanda ls cu parametrul -i. Folosind aceste informaii, i completndu-le cu numele fiierului i al directorului (care de altfel nu sunt incluse n inode), sistemul Linux poate construi i reprezenta o structur de fiiere ierarhic pe care utilizatorul s o neleag mai uor. OBSERVAIE: Este bine de tiut faptul c inode-urile fac parte din sistemul de fiiere i au spaiul lor dedicat pe disc. Organizarea structurii de directoare Structura de directoare tipic unui sistem Unix este cea discutat anterior, i poate s difere ntr-o oarecare msur n funcie de distribuie, ns indiferent care ar fi distribuia pe care o folosim, este foarte important ca utilizatorul (mai ales adminstratorul) s poat naviga cu succes structura de directoare. Acest fapt se datoreaz n primul rnd abilitii de a accesa fiiere de configuraie specifice (care se afl n locuri bine stabilite n cadrul sistemului de fiiere) sau de a executa programe care nu se afl n directorul curent. O observaie interesant este aceea c majoritatea programelor importante ale sistemului (i nu numai) pot fi executate din orice locaie. Ca un exemplu, programul ls poate fi executat fr nici un fel de informaie referitoare la adresa sa n cadrul sistemului de fiiere, dei acesta se afl doar n directorul /bin/ls. Motivul pentru care acest lucru este posibil, este existena unei variabile de sistem, care specific interpretorului de comenzi (sau shell n cazul de fa bash) unde anume s caute un program. Aceast variabil de sistem poart numele de PATH i este semnalizat (drept o variabil) prin caracterul $ ce o precede.

    18

    eAdmin

  • Coninutul variabilelei $PATH poate fi afiat cu ajutorul comenzii echo:

    La prima vedere, variabila de cale arat ciudat, dar la o privire mai atent, putem observa c de fapt nu este vorba de o singur cale, ci de o list de ci menionate, separate prin caracterul :. Ca urmare, n exemplul de mai sus, bash va cauta programul ce trebuie s fie executat succesiv n directoarele /usr/local/bin, /usr/bin, /bin i n /usr/games, urmnd ca, n cazul n care acesta nu se afl n niciun director, s afieze mesajul command not found. Dac ns programul cutat a fost gsit n lista de ci, cutarea va lua sfrit, putnd s cauzeze erori n cazul n care exist dou versiuni ale unui program, cu acelai nume, n locaii diferite (amndou incluse n cale), shell-ul va lansa primul program. Pentru a cuta adresa unui program n cadrul sistemului de fiiere, putem folosi comanda which.

    Rezultatul apelrii acestei funcii, este afiarea pe ecran a cii ctre programul solicitat prin parametru. $PATH nu este altceva dect o variabil de sistem, i poate fi schimbat, iar alte variabile create prin intermediul funciei export.

    n exemplul de mai sus, se poate vedea diferena ntre dou ncercri succesive de afiare al coninutului variabilei temp. Prima tentativ relev faptul c aceasta nu este setat, pe cnd a dou (dup o ncrcare cu ajutorul funciei export) denot schimbarea. n acelai fel se poate modifica i variabila $PATH, ns utilizatorul trebuie s fie contient c aceasta ar putea duce la inabilitatea sa de a mai executa orice program fr specificarea cii complete. Din fericire orice schimbri asupra variabilelor de sistem prin funcia export sunt temporare, i vor fi pstrate doar att timp ct sesiunea curent exist. Dac utilizatorul dorete s adauge temporar un director n cadrul variabilei $PATH, tot ceea ce trebuie s fac este s execute

    19

    eAdmin

  • comanda export $PATH=$PATH:/cale_nou. Comanda poate fi interpretat ca o atribuire simpl, unde variabilei i va fi atribuit valoarea sa curent alturi de noua cale. Pentru schimbri permanente asupra setrilor de acest fel, trebuie modificate fiierele de configurare ale aplicaiei shell. Pentru o mai bun nelegere despre orientarea n cadrul sistemului de fiiere, trebuie s menionm i conceptele de ci relative i absolute. Pe scurt, amndou reprezint o adres n structura ierarhic a sistemului de fiiere, cu meniunea c o cale relativ se refer la o extensie a cii curente i va varia n funcie de directorul curent, pe cnd o cale absolut va reprezenta mereu aceeai locaie, i va avea ca punct de referin directorul rdcin. O cale absolut va ncepe mereu cu caracterul / reprezentnd directorul de referin. Interaciunea cu fiiere Precum am observat n imaginile prezentate pn acum folosirea comenzii ls are ca efect afiarea fiierelor i directoarelor. O observaie pertinent poate fi accea c aceast comand folosete o codificare n culori pentru a descrie tipul de fiier cu care avem de a face, pentru o interpretare mai uoar: albastru directoare alb fiiere text roz imagini verde fiiere executabile mov deschis fiiere de tip legtur galben fiiere de tip dispozitiv rou arhive Un aspect important este i acela c ls nu va afisa implicit fiierele care ncep cu caracterul ., acesta fiind un mecanism folosit pentru a simplifica lucrul cu directoarele i de a ascunde fiiere care nu trebuie s fie accesibile uor. Pentru afiarea tutoror fiierelor, chiar i a celor ascunse (hidden) se folosete comanda ls -a. Crearea directoarelor se face folosind comanda mkdir urmat de numele directorului ce urmeaz a fi creat. Pentru schimbarea directorului curent se va folosi comanda cd urmat de adresa directorului ce urmeaz a fi schimbat, iar pentru aflarea cii curente se poate folosi comanda pwd. Copierea fiierelor se face folosind utilitarul cp urmat de mai muli parametri: cp [-R] sursa destinaie parametrul R este opional i provine de la

    recursiv, i va avea ca efect copierea complet cu tot cu subdirectoare. Ultimii doi parametrii simbolizeaz fiierul sau directorul surs respectiv fiierul sau directorul destinaie.

    20

    eAdmin

  • Mutarea fiierelor se face folosind comanda mv, aceasta putnd s fie folosit i pentru redenumirea fiierelor. Comand va primi doi parametri, primul fiind fiierul ce trebuie mutat (cunoscut i drept surs) iar al doilea fiind destinaia. n cazul n care surs i destinaia se refer la acelai director, fiierul surs va fi redenumit n fiierul destinaie. Comanda mv /home/user1/text1.doc /home/user1/documente/ va avea ca efect mutarea fiierului text1.doc n directorul documente aflat la aceeai locaie. tergerea fiierelor sau a directoarelor se face folosind comanada rm. Aceasta poate s primeasc mai muli parametri, ultimul reprezentnd fiierul sau directorul tinta. Comanda nu poate s tearg implicit dect un singur fiier, ns, folosind parametrul -r (tergere recursiv), instruciunea poate s tearg ntregi ierarhii de directoare. Se recomand atenie sporit n cazul apelrii cu parametrul -r, acesta putnd s produc pagube foarte mari n sistem. Pentru a terge un director se poate folosi i comanda rmdir, ns acesta trebuie s fie gol. Printre comenziile de localizare disponibile ntr-un sistem Linux, putem aminti cteva mai importante: comanda which este folosit pentru cutarea unui program n cadrul

    variabilei de cale $PATH. Aceasta caut n lista de directoare inclus, fiierul executabil primit ca parametru i va returna locaia fiierului cutat, n cazul n care acesta exist. Comanda mai poate primi parametrul opional -a care va verifica dac o comand este de fapt un alias pentru alt comand. Un alias este de fapt o scurttur ctre o comanda anume.

    n exemplul de mai sus, putem observa att o list a alias-urilor curente, ct i o metod simpl de a crea astfel de scurtturi. Am creat astfel o scurttur numit home, care de fapt ascunde o schimbare a directorului curent n directorul home al utilizatorului curent. Se poate observa de asemenea c pn i comanda ls este de fapt un alias, la ea nsi: cu meniunea c aceasta primete nite parametrii (ce permit afiarea colorat) pe care nu i-ar fi primit n mod normal. comanda find este un utilitar foarte puternic, folosit pentru cutarea unor

    fiiere n cadrul structurii de directoare, utilizatorul putnd s descrie un set foarte specific de filtre pentru limitarea numrului de rezultate gsite.

    21

    eAdmin

  • Dei modul n care aceast comand este cel mai des folosit se rezum la cutarea ntr-un anume loc al unui fiier al crui nume este inclus n parametru.

    n exemplul de mai sus putem observa mai multe feluri de utilizare a comenzii find, prima avnd ca rezultat afiarea tuturor fiierelor din directorul curent (incluznd subdirectoarele) al cror nume este b. Al doilea exemplu ne arat cum putem folosi wildcards pentru a afia toate fiierele ale cror nume ncep cu litera b. Filtrele ce pot fi alese pentru restricionarea numrului de rezultate permit cutarea dup coninutul fiierelor, data crerii sau modificrii, dimensiunea lor, etc. Crearea de fiiere legtur Prin legtura (sau scurttur) putem s descriem un mecanism de legare a dou sau mai multe fiiere la o singur resurs fix (alt fiier). Exist dou tipuri de legturi (sau link-uri): Hard link reprezint un mecanism de asociere a dou sau mai multor fiiere cu acelai inode. Rezultatul imediat va fi c dou sau mai multe fiiere diferite vor fi legate la acelai inode. Ca urmare a acestui fapt, acest tip de legturi nu pot fi pe partiii diferite, din moment ce inode-urile sunt unice pentru fiecare partiie. Soft link mai este cunoscut i drept symbolic link, i nu este altceva dect un fiier care art spre un alt fiier, coninnd informaii despre numele, calea i locaia fizic a fiierului spre care arat i, drept urmare, pot aparatine unor partiii diferite. Crearea link-urilor se face foarte simplu, utiliznd comanda ls: ln -s /home/user1/b /home/user1/legtur Apelarea funciei precedente va avea ca rezultat crearea unei conexiuni ctre fiierul b numit legtur. Tipul de legtur este soft link, atestat prin prezena parametrului -s. n cazul n care nu se dorete crearea unei legturi de tip soft, ci din contr se dorete crearea unei legturi hard link, atunci trebuie exclus parametrul -s din comand prezentat anterior.

    22

    eAdmin

  • Montarea dispozitivelor la sistemul de fiiere

    Pentru a putea fi accesate, dispozitivele i implicit partiiile acestora trebuie montate ntr-un sistem Linux. Spre deosebire de alte sisteme de operare (Windows de exemplu), sistemele Linux nu fac o asociere ntre fiecare partiie i o liter. Pentru a accesa coninutul unei partiii, aceasta trebuie s urmeze un proces numit mounting, prin care respectiva partiie va fi legat de sistemul de fiiere. Aceast legtur se face prin asocierea unui dispozitiv cu un director din sistemul de fiiere, care va putea fi folosit pentru accesarea coninutului acestuia. Acest director se numete mount point, iar procedeul de montare al unei partiii se numete mounting. Procedeul de montare implic aadar, dou entiti: un director reprezentnd calea de acces i numele partiiei ce se va monta. n general, marea parte a distribuiilor Linux au n rdcina un director numit /mnt, care este de regul folosit pentru montarea diferitelor dispozitive. Utilizatorul nu este ns obligat s foloseasc acest director pentru montare, avnd libertatea de a folosi orice director dorete. Urmnd aceste reguli, putem deduce c orice partiie care este folosit i activ, a fost nti montat. Excepie de la aceast regul nu face nici partiia activ pe care sistemul este instalat, diferena fiind c aceasta este montat n mod automat n cadrul procesului de bootare pentru a evita diferite capcane ce pot s apar. Urmnd algoritmul de denumire al dispozitivelor i partiiilor ntr-un sistem Linux prezentate mai devreme, i avnd stabilit un director n care monteze o partiie, utilizatorul trebuie s foloseasc comanda mount:

    mount [nume_partiie] [director] Un exemplu bun de montare comun este aceea a unitii CDROM / DVDROM, ns pentru acesta trebuie stabilit numele unitii (conform schemei de numire Linux) i punctul de montare. n cazul n care unitatea optic este singura conectat pe magistrala IDE, aceasta va fi denumit /dev/hda. Distribuia Debian l poate ajuta pe utilizator s determine cu acuratee numele diferitelor dispozitive din sistem, prin crearea a unor link-uri simbolice generale n directorul /dev. O astfel de legtur simbolic este /dev/cdrom care odat examinat prin comanda ls l /dev/cdrom, va arta fiierul real spre care arat.

    23

    eAdmin

  • n urma executrii comenzii mount /dev/hda /media/cdrom sistemul ne avertizeaz c dispozitivul este accesibil doar n modul read-only, i ca urmare va fi montat n acest fel. Structura de fiiere a discului prezent n unitatea optic va putea fi accesat n directorul /media/cdrom. Executarea comenzii mount fr nici un fel de parametru va afia o list cu dispozitive reale i pseudo-dispozitive ataate la sistemul de fiiere n momentul curent. O greeal curent a multor utilizatori este nlturarea mediilor fizice (discuri optice, hard discuri externe, etc) cnd acestea sunt nc montate, i poate avea consecine grave: pierderea datelor scrise. n cazul unitilor CDROM nlturarea discului ct timp timp acesta este montat nu este posibil tvia unitii nu se va deschide pn cnd aceasta nu este demontat. Demontarea unei partiii se face folosind comanda umount (atenie, nu este unmount) urmat fie de numele dispozitivului (n exemplul anterior /dev/hda), fie de numele directorului n care a fost montat.

    umount /dev/hda sau umount /media/cdrom Comanda mount mai poate fi folosit i cu parametrul t pentru a specifica manual tipul de sistem de fiiere pe care l folosete resursa ce va fi montat. n lipsa acestui parametru, sau dac este folosit mpreun cu tipul auto, sistemul va ncerca s determine automat tipul necesar. Pentru mai multe detalii despre tipurile de sisteme de fiiere suportate, consultai man mount. OBSERVAIE: n exemplul anterior, s-a folosit modul auto pentru determinarea sistemului de fiiere folosit pe suportul optic. n caz c detecia automat eueaz, se poate ncerca comanda mpreun cu parametrul t iso9660, formatul standard pentru majoritatea dispozitivelor optice. A se observa de asemenea ca procesul de montare al unui dispozitiv necesit drepturile asociate contului root.

    24

    eAdmin

  • eAdm

    in

    Montarea automat a partiiilor n cazul resurselor fixe, precum partiii de pe alte discuri, se poate adopta o schem de montare automat, astfel nct utilizatorul s nu mai fie nevoit s monteze o resurs pentru fiecare instan a sistemului de operare. Configurarea partiiilor n vederea montrii automate se face prin intermediul fiierului de configurare /etc/fstab, prescurtat de la file systems table. Acesta conine de regul o list cu toate discurile i partiiile disponibile pe un sistem, i indic cum vor fi iniializate.

    Poza anterioar reprezint un exemplu de cum ar putea arta fiierul /etc/fstab. Se poate observa o organizare pe linii (similar cu multe alte fiiere de configuraie), mprite pe coloane separate prin spaiu sau tab. n continuare vom analiza pe rnd scopul fiecrei coloane. Prima coloan semnaleaz dispozitivul pe care se afl respectivul sistem de fiiere. A doua coloan menioneaz directorul n care s-a fcut montarea (sau mount point), iar urmtoarea coloan conine tipul de sistem de fiiere. Coloana numrul patru conine opiunile suplimentare cu care se monteaz partiia respectiv. Cea de-a cincea coloan este citit de ctre utilitarul dump pentru a stabili momentele n care s efectueze un back-up al sistemului. Ultima coloan este folosit de utilitarul fsck pentru repararea erorilor sistemului de fiiere al unei partiii. Acest cmp poate avea 3 valori posibile:0 nseamn c partiia nu va fi verificat, iar 1 i 2 reprezint ordinea n care utilitarul va verifica. Se poate observa c directorul root are prioritate la verificare; n cazul n care utilizatorul doeste verificarea i celorlalte partiii, acesta ar trebui s seteze cmpurile respective la valoarea 2. Un exemplu de modificare al fiierului /etc/fstab ar fi pentru montarea automat a discului partiionat ntr-unul din exemplele anterioare /dev/sdb. Pentru aceasta, utilizatorul ar trebui s adauge la finalul fisierulu fstab urmtoarea linie: /dev/sdb1 /mnt/hdd2 auto auto 0 0 Aceast linie poate fi intrerpretata n felul urmtor: seteaz partiia simbolizat de /dev/sdb1 s fie montat n mod automat n locaia /mnt/hdd2 (acest director trebuie s existe n momentul n care se ncearc montarea), detectnd automat sistemul de fiiere folosit, ct i opiunile suplimentare. De asemenea aceast partiie va fi ignorat de utilitarul dump n vederea efecturii unui back-up, i nu va fi verificat pentru erori de ctre utilitarul fsck. Pentru a vedea o list cu toate opiunile posibile (pentru coloana a patra), consultai seciunea dedicat parametrului o n pagina de manual man mount.

    25

  • Administrarea discurilor

    Partiionarea discurilor n cadrul unui sistem Debian se poate face folosind o serie de programe. Urmnd structura de pn acum, vom analiza un program ce ruleaz n mod grafic i unul ce ruleaz n mod text. Utilitarul cfdisk vine instalat cu orice distribuie Debian ct de ct recent. Acesta program funcioneaz n mod text, i reprezint o alternativ mult mai uor de folosit dect tradionalul fdisk. Utilitarul se lanseaz prin executarea comenzii cfdisk /dev/[dispozitiv] unde dispozitiv se refer la unitatea fizic, descris printr-un fiier de tip device. Interfaa pus la dispoziia utilizatorului, dei este una de tip text, se folosete relativ uor, chiar i de ctre utilizatori mai puin experimentai. Rularea aplicaiei fr nici un parametru, va determina alegerea primului disc de tip IDE, simbolizat prin /dev/hda. Considernd progresele tehnologice, hard discurile IDE nu mai sunt cea mai potrivit alegere pentru multe din sistemele mai noi. Ca urmare, dispozitivul /dev/hda ajunge de multe ori s reprezinte dispozitive de tip CD-ROM sau DVD-ROM i orice ncercare de partiionare a mediilor de tip read-only va fi marcat printr-un mesaj de avertisment.

    OBSERVAIE: Pentru a lansa cfdisk, utilizatorul curent trebuie s posede drepturi de super user (adic root). Se recomand atenie sporit cnd se efectueaz orice fel de schimbri asupra discurilor fizice, din moment ce exist riscul pierderii datelor. Alternativa grafic este gparted, un utilitar din suita GNOME. Prescurtarea sa vine de la GNOME Partition Editor, i este folosit pentru o serie larg de operaiuni pe discuri: creare i tergere de partiii, redimensionarea partiiilor active, schimbarea ordinii fizice pe disc a partiiilor i formatarea acestora. Programul gparted poate fi lansat fie dintr-un terminal grafic, fie accesnd meniul System -> Administration -> Partition Editor. Interfaa acestuia este una similar cu multe alte programe ce ndeplinesc funcii similare:

    26

    eAdmin

  • Modul de funcionare este similar cu Synaptic Package Manager, mai ales datorit sistemului de niruire al comenzilor. Operaiile vor fi adugate ntr-o coad, i executate n ordinea corect, numai dup apsarea butonului Apply. Aadar, orice schimbare va fi nul n cazul n care utilizatorul prsete programul nainte a aciona butonul respectiv. Pentru selectarea unui alt dispozitiv de stocare, trebuie acionat butonul din partea dreapt superioar vizibil n poz cu textul /dev/sdb... Se recomand folosirea numai cu drepturi de root. Modelul folosit pentru PC-uri este n aa fel gndit nct nu permite existena a mai mult de 4 partiii primare. Dintre acestea, una poate fi de tip extended, adic poate conine mai multe partiii logice. Prin intermediul gparted, aceste partiii pot fi formatate conform unui sistem de fiiere, utilizatorul avnd posibilitatea s aleag dintr-o gam foarte larg: ext2, ext3, fat, hfs, ntfs, reiser, ufs, xfs.

    Algoritmul de denumire al dispozitivelor Aa cum probabil ai observat, Linux folosete fiiere de tip device pentru a interfaa orice fel de dispozitive. Pentru a le putea identifica, a trebuit conceput un sistem de numire a acestora, bine stabilit, astfel s se elimine orice fel de confuzie. Sub Linux, discurile i partiiile sunt denumite ntr-un mod total diferit fa de alte sisteme de operare. Dac n MS Windows, fiecare partiie este identificabil printr-o liter (exemplu c:\), n Linux, dispozitivele sunt denumite dup urmtorul algoritm: Hard Discul IDE setat ca master va fi denumit mereu /dev/hda Hard Discul IDE setat ca slave va fi denumit /dev/hdb

    27

    eAdmin

  • Primul disc ATA sau SCSI (conform identificatorului su) va fi denumit /dev/sda

    Urmtoarele discuri ATA sau SCSI vor avea denumirea /dev/sdb, sdc, i aa mai departe.

    Dispozitivele de tip CDROM pe ATA sau SCSI vor fi /dev/scd* sau /dev/sr*.

    Odat stabilite numele dispozitivelor fizice, mai rmne doar un mod de a numi i partiiile de pe fiecare disc n parte. Acest fapt este realizat prin concatenarea unei numr zecimal dup numele dispozitivului dac de exemplu am avea un hard disc conectat pe ATA cu trei partiii, acesta s-ar numi sda, iar partiiile ar fi identificabile dup numele sda1, sda2, sda3. Linux folosete cifrele 1, 2, 3 i 4 pentru identificarea partiiilor primare, pe cnd partiiile logice ncep numrtoarea de la 5. n exemplul anterior, presupunnd c cea de-a treia partiie ar fi fost una logic, aceasta nu s-ar fi numit sda3, ci sda5. OBSERVAIE: Reamintim pe aceast cale, faptul c dac un sistem are o partiie extins, aceasta este folosit doar pentru a conine partiiile logice, i ca urmare, nu este utilizabil. De asemenea, convenia prin care att dispozitivele conectate pe ATA ct i cele pe SCSI folosesc acelai nume nu este valabil pentru versiuni de kernel mai vechi de 2.6 i este posibil ca alte distribuii s consolideze aceast excepie.

    28

    eAdmin

    8. Utilizatori i accesul la resurseUtilizatori i accesul la resurseUtilizatori i Grupuri de utilizatoriCrearea conturilor de utilizatorCrearea unei noi parole pentru un cont de utilizatorGrupuri de utilizatoritergerea conturilor de utilizator i a grupelor de utilizatoriComenzi adiionaleAdministrarea folosind interfa grafic

    Sistemul de permisiuniSistemul de permisiuni numerice (sau octal)Cazuri particulare de aplicare ale sistemului de permisiuniSchimbarea proprietarului sau grupului unui fiierSchimbarea permisiunilor

    Sistemul de fiiereTipuri de fiierePartiiiTipuri de partiiiPuncte de montareStructura implicit de directoareReprezentarea sistemului de fiiere folosind arboriOrganizarea structurii de directoareInteraciunea cu fiiereCrearea de fiiere legtur

    Montarea dispozitivelor la sistemul de fiiereMontarea automat a partiiilor

    Administrarea discurilorAlgoritmul de denumire al dispozitivelor