In ziua de astazi, sistemul Linux capata din ce in ce mai mult teren in fata clasicului Windows. Dar, exista si foarte multa lume care se fereste de acest sistem de operare, deoarece s-a informat din diferite surse si a inteles ca este foarte greu de configurat, de utilizat si de administrat. Intr-adevar, sistemul Linux este mai greu de operat, dar acest articol incearca sa va ajute, incercand sa va faca sa va formati o parere asupra fisierelor in acest sistem. Bineinteles ca nu vom spune totul despre fisiere.
Fisierele in sistemul Linux pot fi de mai multe tipuri: ordinare, directoare, speciale si pipe (FIFO). Indiferent de ce tip sunt., sistemul Linux le priveste prin intermediul tabelei de alocare ca o succesiune liniara de octeti. Inainte de a trece mai departe tin neaparat sa va dau si notiunea de inod, pe care o vom folosi destul de des pe parcursul acestui articol. Numele de inod provine din englezescul "index node". Un inode contine urmatoarele informatii:
Dupa cum probabil ati observat notiunea de inod v-am prezentat-o foarte sumar, doar pentru a nu va pune dupa aceea intrebari ce inseamna acest inod sau la cel il folosesc.
Tipuri de fisiere
Fisierele ordinare - aceste fisiere pot primi drepturi de acces precum read (pentru citire), write (pentru scriere, stergere, adaugare) si executie (pentru lansare in executie). Despre blocurile de date ale acestor fisiere putem spune ca ele nu sunt continue, acestea fiind regasite prin intermediul tabelei de alocare a fisierelor. Sfarsitul unui fisier ordinar este dat de CTRL/D (04H).
Fisierele directoare - aceste fisierele asigura structura ierarhica arborescenta avand ca radacina directorul root. In sistemul Linux, acest tip de fiser este specificat prin numele de cale. Radacina este indicata prin /. Pentru a intelege mai bine acest tip de fisiere putem lua un exemplu: /usr/usrs/user3/cosmin/stuff indica fisierul stuff din directorul cosmin. Trebuie de mentionat faptul ca un director nu poate avea decat un singur parinte. Un singur director are intrati de cate 16 octeti. Acest octeti contin urmatoarele: numarul inodului (2 octeti) si numele fisierului (14 octeti). Fisierele sterse dintr-un director au inodul 0.
Si un director, la fel ca si un fisier poate avea drepturi de acces. Aceste drepturi sunt: read (pentru a citi directorul), write (folosit pentru a crea o noua intrare in acel director sau pentru a sterge o intrare existenta in acel director. Acest lucru se poate realiza prin intermediul mkmod, link si unlink) si execute (intrebuintat pentru cercetarea directorului pentru gasirea uni nume de fisier).
Fisierele speciale - acest tip de fisiere face legatura cu funtiile programului de comanda al perifericelor carora le-au fost asociate: periferiferice de tip bloc sau de tip caracter. Inodurile acestor fisierele contin 2 numere: numarul major - care indica tipul dispozitivului si numarul minor - care indica numarul unitatii.
Fisierele FIFO - aceste fisierle mai poarta numele si de fisiere pipe. In aceste fisiere datele sunt citite in ordinea stricta a scrierii lor, respectandu-se regula de sincronizare producator/consumator.
Aici pun punct scurtului meu articol despre fisierele in sitemul Linux. Daca acest articol prinde bine la un utilizator de Linux si doreste sa afle mai multe despre fisiere, ma poate contacta fara nici o problema. Din pacate mai erau multe, foarte multe de spus la acest capitol. Poate voi avea o continuare intr-un numar vitor.
O scurta privire in securitatea sistemelor Linux
Securitatea sistemelor este cel mai controversat domeniu in ziua de astazi. Administratorii de retele incearca sa-si protejeze cat mai mult sistemele pe care le administreaza si sa asigure o securitate cat mai mare a datelor. Sistemul Unix este foarte bine dezvoltat pe partea de securitate oferind foarte multe solutii pe care alte sisteme nu le ofera. In acest articol vom aborda cateva din numeroasele teme de securitate.
Protectia conturilor
$cat passwd | awk -F:'lenghth($2) < 1 {print $1}'
Comanda cat va furniza lui awk continutul fisierului passwd. Daca al doilea camp are lungime 0, atunci se va tipari numele contului.
Conturi implicite - sunt conturile cu parile standard sau fara parole, acestea venind o data cu sistemul de operare. De exemplu root nu are parola, iar conturile guest, mail, bin, who, lp au parole standard. Conturile cu parole standard trebuie sa fie dezactivate, fie protejate cu alte parole.
Conturi restrictionate - exista posibilitatea, pe alte sisteme de a restrictiona accesul utilizatorilor, Se poate specifica un interval de timp sau zile cand este permis accesul. Se poate de asemenea restrictiona accesul astfel incat sa existe o anumita linie de terminal de la care accesul este permis.
Conturi utilizate rar - sunt situatii in care utilizatorul unui cont este plecat si nu-l foloseste o perioada de timp mai mare. In aceste situatii este recomandabil sa se adopte una sau mai multe din solutiile de mai jos: a) schimbarea parolei b) schimbarea shell-ului de login
Programe cu caracter malefic
In continuare am placerea de a aborda cateva probleme legate de programele scrise cu scopul de a distruge sau a infecta functionarea unor programe ale sistemului de operare, putand astfel duce la blocarea functionarii unui sistem de calcul.
Intrarile trapa in sistem - sunt secvente de cod care permit proiectantilor sa aiba acces la programe fara a respecta procedura obisnuita. Unele programe au proceduri de autentificare greoaie, cer utilizatorului sa introduca diferite valori pentru a lansa aplicatia. La depanare, proiectantii utilizeaza deseori aceste intrari secrete pentru a evita secventele complicate de autentificare. Intrarile secrete devin periculoase in momentul in care programatorii, fara scrupule, incearca sa obtina acces neautorizat. Protectia impotriva intrarilor secrete este destul de complicata. Caile de protectie cel mai des utilizate sunt:
Bombe logice - sunt secvente de cod care sunt inactive o perioada de timp. Ele se activeaza daca anumite conditii sunt indeplinite. O data activate, vor executa functii care nu corespund cu cele ale programelor in care sunt ascunse. Conditiile care permit activarea unei bombe logice sunt: prezenta sau absenta unor fisiere pe disk, o anumita data curenta sau conectarea unui utilizator care utilizeaza o aplicatie. O data activate, bombele logice pot distruge datele, pot bloca calculatorul sau deteriora sistemul.
Cai troieni - sunt programe care executa altceva decat ar trebui sa execute programul lansat fara ca utilizatorul sa-si dea seama. Aceste programe au in general un caracter malefic. De exemplu, utilizatorul ruleaza un joc in timp ce-i cere date despre jucatori, despre nivelul de dificultate, programul poate in realitate sa stearga fisierele, sa formateze discul sau sa execute alte actiuni. Va prezint in continuare un mic exemplu de cal troian. Un fisiser shar care contine diferite comenzi de decompactare are si comenzile:
rm -rf $HOME echo Surpriza!
Daca este rulat programul ca root, atunci sunt toate sansele ca sa se stearga fisierele importante ale sistemului de operare. Un atacator poate include comenzi in alte locuri decat programele compilate. Cea mai buna protectie impotriva cailor troieni este citirea cu atentie a surselor programelor care se vor executa.
Viermi - viermii sunt programe care ruleaza independent si calatoresc in retea de la o masina la alta. Ei pot avea portiuni de cod care sa ruleze pe diferite masini. Viermii nu schimba alte programe, desi ei pot transporta programe care pot face acest lucru. Viermii sunt dificil de scris. Cel mai greu de scris a fost viermele Internet. Dupa cum se stie, acesta a reusit in scurt timp sa infecteze un mare numar de calculatoare. Virmele este construit din doua parti: un program principal si un program vector (bootstrap). Dupa instalare, programul principal va colecta informatii despre alte masini din retea, cu care calculatorul gazda poate fi conectat. Apoi va incerca sa instaleze programul sau vector pe fiecare din aceste calculatoare aflate la distanta.
Programul vector este un program scris in C care va fi compilat si rulat pe masina de la distanta. Sursa va fi transferata la "victima". Apoi ea va fi apelata pe masina victima prin intermediul unei linii de comanda cu trei argumente: