Meniu

Montarea si setarea permisiunilor pentru partitiile FAT (si NTFS)

Fedora de exemplu livreza kernelul fara suport NTFS (datorita problemelor de legale/de licenta). Daca doriti sa folositi o partitie cu un astfel de sistem de fisiere, va trebui sa parcurgeti câtiva pasi suplimentari (instalarea modulului NTFS pentru kernel). Aceasta problema este foarte bine prezentata, si nu voi relua informatiile. Va rog cititi cu atentie acest document inainte de a pune intrebari despre NTFS. De asemenea, nu uitati ca suportul NTFS se limiteaza la permisiuni read-only (luati asta in considerare la setarea permisiunilor).

Multi dintre voi folosesc configuratii de boot duale, asta insemnaând instalarea pe acelasi calculator atât a unei distributii Linux, cât si a unei versiuni Windows. În aceste cazuri, nu putini sunt cei ce vor sa acceseze partitiile Windows de sub Linux (invers nu se poate) - cu alte cuvinte sa partajeze fisiere intre sisteme. Cea mai simpla metoda este cea a folosirii comenzii mount (bineinteles, autentificat ca root; toate comenzile ce urmeaza necesita acces root):

# mkdir /tmp/fatfs
# mount /dev/hda1 /tmp/fatfs

(Presupun ca stiti deja ce device din directorul /dev este partitia Windows cautata; in acest exemplu ea este /dev/hda1.)

Facând asa insa, apar câteva probleme:

Trebuie sa avem acces root pentru a putea monta partitia.
Fisierele sunt montate cu permisiuni foarte stricte (numai root le poate modifica).
Dorim un oarecare control asupra celor ce au permisiunea de a accesa aceste fisiere, din motive de securitate. Daca de exemplu rulam un server web pe distributia Linux, si acest server web este spart, nu vom dori accesarea partitiei prin intermediul serverului web hacuit.
Dorim montarea acestei partitii la boot.
Dorim ca directoarele si fisierele sa arate bine la navigare (permisiuni).

Toate acestea pot fi obtinute prin diverse script-uri, dar nu aceasta este calea optima. Voi descrie mai jos cum se face.

Scurta explicatie a optiunilor

Nota: Pentru mai multe detalii, urmariti manualul comenzii mount (man mount).
Optiunile pe care le vom folosi sunt auto, rw, uid, gid, showexec, quiet, umask, fmask, dmask:

auto - inseamna ca partitia va fi montata la boot.
rw - asta implica acces read/write la partitie.
uid - reprezinta ID-ul utilizatorului. Fisierele trebuie sa apara cu acest utilizator ca si owner la momentul montarii. Cel mai probabil veti dori ca acest utilizator sa fie root (uid 0).
gid - reprezinta ID-ul grupului. Fisierele vor apare ca fiind in posesia acestui grup la montare. Cel mai probabil veti dori un grup separat pentru a controla accesul la partitie. Mai multe detalii aveti in continuare.
showexec - face ca sistemul sa se uite dupa executabile DOS/Windows (EXE, COM etc.) si sa seteze permisiunile de executie in mod corespunzator.
quiet - inseamna ca sistemul nu va afisa erori la incercarea de modificare a parametrilor fisierelor pe partitie (evident, pe partitii FAT nu se poate, acestea neavând suport pentru asa ceva).
umask - reprezinta permisiunile inversate in sistemul octal pe care fisierele le vor primi la montare. Acest parametru este nitel ciudat, devreme ce e inversat. Asadar, daca doriti ca un fisier sa aiba permisiunile 770 (insemnnând fisiere total accesibile de catre posesorul indicat de uid si grupul indicat de gid si respectiv inaccesibile de oricine altcineva) trebuie sa inversati valorile si sa puneti 007.
fmask - similar ca umask dar numai pentru fisiere (fara directoare).
dmask - similar cu umask dar numai pentru directoare. Notati ca directoarele trebuie sa aiba permisiuni de executie pentru a le putea deschide (puteti citi fisiere din directoare cu permisiuni numai de citire, dar trebuie sa cunoasteti exact calea catre fisier).

Nota: optiunile fmask si dmask sunt prezente numai in sistemele ce ruleaza kernel 2.6 - asadar daca rulati Fedora Core 1 (noile versiuni ruleaza kernel 2.6) puteti folosi numai optiunea umask (care este suficienta impreuna cu optiunea showexec).

Mai intâi trebuie sa creem un punct de montare (un director unde partitia va fi montata) si hai sa-i zicem /mnt/fat. Nu va bateti capul cu permisiunile pentru acest director - vor fi modificate oricum in momentul montarii. Si mai persupunem ca partitia noastra se afla pe /dev/hda1.

În continuare trebuie sa adaugam un grup ce va avea permisiuni read/write pe fisierele partitiei noastre. În mod normal e un obicei bun sa aveti un grup separat pentru utilizatori "mai buni" - cu control suplimentar asupra sistemului, acces la comenzi, etc. Daca aveti asa ceva, folositi acest grup. Pentru a adauga grupul, rulati urmatoarea comanda:

# groupadd -g 500 fat

Am creat grupul denumit fat cu ID 500. Adaugam in contimuare username-ul propriu:

# usermod -G fat eu

(eu este username-ul meu, si va trebui sa reluati comanda pentru fiecare utilizator ce trebuie sa aiba acces la partitie.)
Acum vom edita fisierul /etc/fstab (linia poate fi prezenta deja):

/dev/hda1 /mnt/fat auto auto,rw,uid=0,gid=500,showexec,quiet,fmask=117,dmask=007 0 0

Câteva explicatii:

Primul auto inseamna ca tipul partitiei va fi auto-detectat. 0 0 sunt numerele pentru programul dump. Foarte putini dintre dumnevoastra folosesc acest program, asa ca nu ma voi referi la el - lasati datele asa cum sunt. Celelalte optiuni sunt explicate mai sus.

Ce face?

Face ca sistemul sa monteze partitia noastra FAT /dev/hda1 in punctul de montare /mnt/fat. Fisierele au permisiunile setate la 660 (dar fisierele EXE si similare primesc 770) iar directoarele primesc permisiunile 770. Fisierele din aceasta partitie au ca si posesor utilizatorul root si grupul fat. Asta inseamna ca utilizatorul root si membrii grupului fat au acces total la fisierele acestei partitii. Ceilalti utilizatori nu pot nici macar sa intre in acest director. De asemenea, mai sunt câteva masuri de montare 'automagically' la boot, precum si suprimarea mesajelor de eroare (pot deveni foarte neplacute in unele programe ce incearca modificarea permisiunilor - de ex. editoarele si managerele de fisiere).

Acesta este doar un exemplu - va trebui sa experimentati propriile setari pentru a obtine efectele dorite. Pentru NTFS va trebui, probabil, sa modificati unele din optiuni. De asemenea, device-ul partitiei si punctul de montare pot varia.

Andreea

"Rome wasn't built in a day" !
  • | 120 articole

Nici un comentariu inca. Fii primul!
  • powered by Verysign