Sunteți pe pagina 1din 18

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
­ case­sensitive
­ 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)
I­noduri

­ fisierele sunt identificate prin i­number (index dintr­un sir de i­noduri)
­ i­nodurile contin atributele asociate fisierelor:
­
  ­ tipul
A ­ proprietarul (UID si GID)
t
r ­ permisiunile de acces (Read, Write, eXecute)
i ­ lungimea
b ­ 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 intr­o 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 printr­o cale de directoare (separate cu “ /” )
­ exista un director curent (in cadrul shell­ului)
­ 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: pseudo­proces 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 job­urile
­ CTRL+Z ­> procesul este suspendat si trece in fundal
­ fg job – aduce un proces in prim­plan
­ 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) ­ semnale definite de utilizator
SIGUSR2 (17)
SIGCHLD (18) ­ procesul copil si­a incheiat executia
SIGSTOP (23) ­ opreste temporar executia procesului
SIGCONT (25) ­ 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