Linux este un sistem de operare care ofera solutii stabile si sigure pentru livrarea de servicii software. Majoritatea distributiilor au o structura similara, bazata pe Unix. Cateva nume de distributii care au popularitate sunt Debian, Ubuntu, CentOS, Redhat. Diferentele principale sunt legate de sistemul folosit pentru management-ul pachetelor (respective toate aplicatiile software instalate pe sistem). De exemplu, pe Ubuntu se foloseste aptitude si pe Redhat se foloseste RPM.
Multi considera ca learning curve-ul pentru Linux este unul greoi, dar adevarul este ca dupa ce stapanesti cateva notiuni de baza, sistemul de operare devine foarte simplu de folosit si de inteles. Din pacate, la inceput trebuie invatate pe de rost cateva lucruri despre sistem sau assimilate prin exercitiu. Acest document are ca scop o prezentare succinta a cunostintelor importante pentru folosirea unui server Linux, detaliile fiind acoperite de trainingul bazat pe exercitii practice.
Structura folderelor
Este foarte important sa intelegem structura folderelor pe un sistem Linux, pentru a intelege cum functioneaza acest sistem de operare. Spre deosebire de un server Windows, un server Linux nu contine o interfata grafica si din acest motiv toate aplicatiile de pe sistem trebuie sa fie instalate si configurate conform unor best-practice-uri. Din fericire, sistemul folosit pentru management-ul pachetelor (aptitude sau RPM) instaleaza fiecare aplicatie in conformitate cu aceste reguli si o simpla cunoastere a structurii sistemului ofera administratorului posibilitatea de a se orienta pe o masina Linux.
Folderele pe care le gasim pe un server Linux in folderul / (numit si root sau radacina) sunt prezentate in lista de mai jos, impreuna cu o scurta descriere pentru fiecare.
Folderele trecute cu bold trebuie neaparat stiute, pentru ca sunt foarte des folosite. E bine sa stim ca exista si celelalte foldere, dar de obicei nu avem treaba cu toate.
Drepturi in linux
Toate sistemele de operare Unix impart aceleasi sistem de drepturi. Drept urmare, urmatoarele sisteme de operare folosesc toate acelasi sistem: Android, iOS, Mac OS, Solaris, AIX si toate distributiile Linux. Acest sistem ofera pentru fiecare fisier/dosar drepturi de citire, scriere si executie pentru utilizatorul care tine fisierul, grupul care detine fisierul si pentru toate celalte persoane. Pe scurt, drepturile sunt de tip Read, Write si Execute pentru User, Group si Others.
Putem vedea drepturile asupra tuturor elementelor dintr-un folder cu ajutorul comenzii ls -al sau ll. Exemplu:
distPoint ~ # ll /etc/apache2/ total 88 drwxr-xr-x 8 root root 4096 Mar 20 14:43 ./ drwxr-xr-x 98 root root 4096 Apr 27 22:31 -rw-r--r-- 1 root root 7150 Mar 17 15:10 apache2.conf drwxr-xr-x 2 root root 4096 Mar 17 14:20 conf-available/ drwxr-xr-x 2 root root 4096 Mar 17 14:20 conf-enabled/ -rw-r--r-- 1 root root 1782 Jan 3 2014 envvars -rw-r--r-- 1 root root 31063 Jan 3 2014 magic drwxr-xr-x 2 root root 12288 Apr 24 15:03 mods-available/ drwxr-xr-x 2 root root 4096 Mar 17 15:11 mods-enabled/ -rw-r--r-- 1 root root 320 Jan 7 2014 ports.conf drwxr-xr-x 2 root root 4096 Apr 22 17:20 sites-available/ drwxr-xr-x 2 root root 4096 Mar 17 08:22 sites-enabled/
Aici putem observa ca utilizatorul si grupul sunt root (coloanele 3 si 4), iar drepturile difera de la un element la altul. De exemplu, pentru fisierul apache2.conf, drepturile sunt -rw-r--r--. Pentru ca primul caracter nu este d, ne dam seama ca este fisier si nu dosar. Urmatoarele 3 caractere arata drepturile pentru utilizatorul care detine fisierul si acestea sunt read, write. Grupul si ceilalti utilizatori au doar drepturi de citire. Nimeni nu are drept de executie asupra acestui fisier.
Asupra folderelor din acest exemplu au toti utilizatorii din sistem dreptul de executie. Asta este important, pentru ca in Linux nu este posibil sa vezi continutul unui dosar daca nu ai drept de executie asupra lui. Singura persoana care are drepturi de scriere in acest folder este root si putem sa deducem acest lucru pentru ca doar in dreptul proprietarului apare caracterul w, iar proprietarul este root.