Administrarea sistemelor Linux Cursul 2 Notiuni Linux de baza – partea I Dragoş Acostăchioaie http://www.adt.ro
Fisiere Particularitati ale fisierelor pe sistemele UNIX maxim 255 caractere lungime casesensitive fara restrictii, exceptand caracterul “ /” nu se utilizeaza ideea de “ extensie”
Tipuri de fisiere ordinare (fisiere text sau binare) directoare speciale dispozitive (fizice, virtuale; orientate pe caracter, bloc) pipe (comunicatie intre procese prin cozi FIFO) socket (comunicatie intre calculatoare)
legaturi (fizice sau simbolice)
Inoduri fisierele sunt identificate prin inumber (index dintrun sir de inoduri) inodurile contin atributele asociate fisierelor: A t r i b
tipul proprietarul (UID si GID) permisiunile de acces (Read, Write, eXecute) lungimea timpii ultimei operatiuni de accesare, modificare si schimbare a starii numarul de legaturi
Organizarea fisierelor fisierele sunt grupate in sisteme de fisiere (file systems) sistemul de fisiere este organizat intro ierarhie unica, arborescenta sistemul radacina este stabilit in momentul instalarii sistemului toate sistemele de fisiere se regasesc in ierarhia unica (partitii, discuri, la distanta) fisierele se refera printro cale de directoare (separate cu “ /” ) exista un director curent (in cadrul shellului) cai absolute (pornind de la directorul radacina, “ /” ) cai relative
orice director contine doua fisiere cu nume speciale “ .” directorul curent
“ ..” directorul parinte
Comenzi pentru lucrul cu fisiere Specificatori metacaractere (wildcards)
“ ?” un caracter “ *” mai multe caractere “ [caractere]” interval “ |” alternativa (SAU) “ !” negatie
Comenzi pentru lucrul cu fisiere (continuare) cp sursa destinatie – copie fisiere mv sursa destinatie – muta/redenumeste ln sursa nume (“ s” legatura simbolica) – creaza legatura rm fisier – sterge
Argumente utile “ f” forteaza comanda (fara confirmare; ignorand erorile) “ i” mod interactiv “ R” mod recursiv find cale expresie actiune – cauta fisiere name specificator – numele unui fisier type tip – tipul fisierului (“ d” director, “ l” legatura...) user utilizator – proprietarul fisierului group grup – grupul perm drepturi_acces – drepturile de acces
Comenzi pentru lucrul cu fisiere (continuare) mkdir director – creeaza un director rmdir director – sterge un director gol cd director – schimba directorul curent pwd – afiseaza directorul curent ls director – afiseaza continutul unui director “ a” – include fisierele “ ascunse” “ l” – format lung, mai multe informatii “ h” – dimensiunile in KBytes sau MBytes “ R” – recursiv du – afiseaza spatiul ocupat de un subdirector df – informatii despre ocuparea partitiilor Optiuni utile: “ h” – dimensiunile in Kbytes sau Mbytes
Atributele asociate fisierelor Proprietarul fisierului (owner) utilizator (user) grup (group) alti utilizatori (others)
Drepturi de acces
citire (“ r” ) scriere (“ w” ) executie (“ x” )
Drepturi de acces directoare
“ r” drept de inspectare a continutului “ w” adaugarea, stergerea de fisiere “ x” dreptul de “ intrare” in director
Atribute speciale
SUID/SGID (“ s” ) schimbarea identitatii proprietarului Sticky (“ lipicios” “ t” ) pentru directoare (stergerea fisierelor doar de catre proprietar)
Atributele asociate fisierelor (continuare) drepturile de acces sunt reprezentate de “ ls” prin zece caractere: primul caracter = tipul fisierului “ ” fisier ordinar “ b” dispozitiv de tip bloc “ c” dispozitiv de tip caracter “ d” director “ l” legatura “ p” pipe “ s” socket trei grupuri a cate trei caractere drepturile utilizatorului drepturile membrilor grupului drepturilor altor utilizatori primul caracter = dreptul “ r” al doilea caracter = dreptul “ w” al treilea caracter = dreptul “ x”
Modificarea atributelor fisierelor chmod – modifica drepturile de acces Varianta 1: “ u” utilizator “ g” grup “ o” alti utilizatori “ +” acordare drepturi “ ” revocare drepturi “ r” , “ w” , “ x” drepturi “ s” SUID/SGID “ t” Sticky Varianta 2: grupuri de drepturi, a cate 3 biti (in octal) – u, g, o atribute speciale – SUID, SGID, Sticky “ 1” drept acordat “ 0” drept revocat
Modificarea proprietarului chown proprietar[:grup] chgrp grup numai de catre root!
Procese in UNIX pot rula concurent mai multe programe = procese procese obisnuite si daemoni coada de asteptare in vederea executiei starea procesului rulare (running) “ R” asteptare (sleep) “ S” asteptare operatie I/O (wait) “ D” oprit temporar (stopped) “ T” terminare (terminate) orfan (zombie) “ Z” mod de executie in prim plan (foreground) interactioneaza cu utilizatorul in fundal (background)
Procese (continuare) orice proces este “ nascut” (apelat) de procesul parinte (PPID) la pornire: pseudoproces cu PID=0, care executa init (PID=1) init este stramosul tuturor proceselor lansate ulterior proces = imaginea dinamica (incarcata in memorie) a unui fisier executabil detinut de un utilizator procesul are proprietar un utilizator, respectiv grup drepturile de acces ale procesului depind de cele ale proprietarului utilizatorii pot controla doar propriile procese (exceptie: root) setul de drepturi si proprietati se mosteneste de la parinte la copil daca un proces isi pierde parintele, PPID devine 1 ps – afiseaza lista de procese “ a” afiseaza toate procesele “ u” format extins “ x” include procesele care nu au terminal asociat “ w” afiseaza liniile mai lungi decat pot fi afisate top – topul proceselor
Procese (continuare)
programele se lanseaza in fundal adaugand “ &” la sfarsit > “ job” jobs – afiseaza joburile CTRL+Z > procesul este suspendat si trece in fundal fg job – aduce un proces in primplan bg job – muta un proces in fundal
Prioritatea proceselor procesele pot avea prioritate diferita (planificat mai des pentru executie) intre 20 (mai prioritar) si 20 (mai putin prioritar) implicit este 10 nice n prioritate program – executa un proces cu o prioritate data
Comunicarea intre procese
comunicatia clasica intre procese in UNIX – semnalele semnal = o valoare numerica procesele pot redefini modul de tratare a semnalelor, pot ignora semnalele primite (exceptand SIGKILL si SIGSTOP) semnalele principale: SIGHUP (1) semnalizeaza terminarea parintelui (utilizat de multi daemoni pt recitirea fisierelor de configurare) SIGINT (2) intreruperea procesului SIGQUIT (3) incetarea executiei (CTRL+C etc.) SIGILL (4) operatie invalida SIGSEGV (11) referinta invalida SIGPIPE (13) comunicatie prin pipe intrerupta SIGTERM (15) terminarea procesului
Comunicarea intre procese (continuare)
SIGUSR1 (16) SIGUSR2 (17) SIGCHLD (18) SIGSTOP (23) SIGCONT (25)
semnale definite de utilizator procesul copil sia incheiat executia opreste temporar executia procesului continua executia dupa o oprire temporara
kill semnal PID – trimite un semnal catre un proces pot fi trimise semnale doar proceselor proprii utilizatorul root poate trimite semnale oricarui proces