Laborator 1 ----------- Scopul laboratorului este de a administra 2 sisteme linux (CentOS) care vor rula in masini virtuale in VirtualBox sau in VMware Player. O masina virtuala este echivalentul unui calculator pe care e instalat sistemul de operare Linux (varianta CentOS 6.6). Fisierele care contin masinile virtuale (MV) au aproximatib 400MB fiecare si se pot descarca de pe Google Drive, linkurile sunt in e-mailul pe care l-ati primit pe contul de e-uvt. Pentru ca ele sa functioneze trebuie mai intai creat o "VirtualBox Host-Host Only Ethernet Adapter", care se creaza din meniul File al aplicatiei VirtualBox. Dupa descarcarea MV-urilor, prin dublu-click pe ele se porneste procesul de importare al lor in VirtualBox. Vor rezulta fisiere de aproximativ 1.5GB pentru fiecare dintre cele 2 MV. Deci e nevoie de apox. 3GB (+900MB pentru cele 2 masini virtuale). Fisierele de 400MB nu mai sunt necesare dupa ce le-ati importat in VirtualBox. Dupa importarea MV, acestea se pornesc si vom verifica daca ambele interfete de retea (virtuale), (cate 2 pentru fiecare MV) au adrese IP corecte. Aceasta se face cu comanda ifconfig Trebuie sa vedem 3 interfete de retea numite, de exemplu eth1, eth2 si lo. lo va avea Ip-ul 127.0.0.1 eth1 si eth2 una va avea un IP incepand cu 192 si cealalta incepand cu 10. Informatia afisata de ifconfig iese din ecran. Ca sa o citim avem mai multe variante 1. Shift+PgUp 2. dam ifconfig eth1, de exemplu, ca sa vedem info. doar pentru eth1 3. dam ifconfig | less dupa care putem merge mai sus sau mai jos in informatia afisata cu tastele cu sageti sau cu PgUp si PgDown. Important: se iese din comanda cu tasta "q" (de la quit) Administrarea se va face in CLI (Command Line Interface) adica in mod text, din linia de comanda si prin editarea unor fisiere de configurare ale diferitelor aplicatii (care in general se gasesc in folderul /etc). Daca dorim 2 terminale pentru aceeasi masina virtuala, ne putem conecta la ea si cu un client ssh, de exemplu putty. Trebuie sa ne conectam la unul, iar la celelalte laboratoare la ambele calculatoare. Dupa pornirea masinilor virtuale, username-ul va fi root iar parola: reverse Vom avea grija ce facem, pentru ca suntem in contul de administrator al sistemului la care ne-am conectat, de unde avem absolut toate drepturile asupra sistemului. Sa le folosim in mod constructiv, nu distructiv! Daca stricam ceva mai tare, in cel mai rau caz mai descarcam odata imaginea de masina virtuala si o importam din nou. VirtualBox are si un sistem prin care putem salva o varianta "buna", numita "snapshot" la care putem reveni in caz de ceva ireparabil la masina virtuala. Evident va mai trebui pentru ea ceva spatiu pe disc. Comenzi utile pentru lucru in sisteme Linux ------------------------------------------- Asemenea comenzi ati mai invatat la materii precum Sisteme de operare sau programare ... (unix) Aceasta este doar o scurta enumerare si reamintire a lor nu sintaxa completa a comenzilor. Cu toate ca sunt comenzi simple, va rog sa le repetati acum si sa imi semnalati pe care nu o stiti, pentru ca in toate celelalte laboratoare le vom folosi si nu va fi destul timp sa vi le explic atunci! a) Comenzi pentru a obtine help in general, orice comanda urmata de --help afiseaza un mic help despre comanda respectiva de exemplu: ls --help Comanda pentru obtinerea documentatiei pentru comenzile unix/linux este comanda man (de la manual) man - afiseaza pagina de manual implicita pentru man -a - afiseaza toate paginile de manual pentru man - afiseaza pagina din manualul pentru Iesirea din comenzile man se face cu tasta "q"! Daca nu functioneaza comanda man, trebuie reinstalat pachetul care o contine. Deci comenzile de mai jos DOAR pentru cazull in care nu functioneaza comanda man! yum remove -y man xz yum install -y man xz b) Manipularea fisierelor si a folderelor ls - afiseaza continutul directorului curent pwd - afiseaza numele directorului curent mkdir - creaza un director rm - sterge fisiere si/sau directoare, inclusiv recursiv mv - muta sau redenumeste fisiere si/sau directoare cp - copiaza si/sau redenumeste fisiere si/sau directoare, inclusiv recursiv c) Editoare de texte nano (editor recomandat) vi (mai complicat de folosit) joe (nu e instalat) emacs (mai complicat de folosit) d) Afisarea continutului fisierelor more less tail cat Important! Din aceste comenzi se iese cu Q, nu cu Ctrl-Z e) Filtrarea unui fisier text grep - cuplata, prin mecanismul de pipe la iesirea unei comenzi care afiseaza text pe ecran, intercepteaza acest continut si afiseaza din el doar liniile in care apare de exemplu: ifconfig | grep eth f) Gestiunea proceselor ps - afiseaza ce procese ruleaza la un moment dat kill - opreste executia unui proces g) Mecanismul de "pipe" | De ex: ps -A | more ps -A | grep ssh h) Redirectarea iesirii unei comenzi > sau >> De ex: ps -A > a.txt comanda ps -A, in loc sa afiseze pe ecran va trimite afisajul in fisierul a.txt. In cel de-al doilea caz, iesirea comenzii ps -A se va adauga la sfarsitul fisierului a.txt, in loc sa suprascrie ce exista deja acolo. i) Comanda screen, pentru rularea de procese la care ne putem apoi conecta de la un alt terminal. Utilizare: A) screen Ctrl-A D - pentru a ma detasa de la acest screen B) (pe un alt calculator) screen -r - pentru a ma reconecta la screen-ul de la care m-am deconectat anterior Pot lansa pana la (parca) 9 screen-uri, la care sa ma reconectez ulterior j) Utilitarul mc - pentru navigarea prin sistemul de fiisere, conectarea la un alt calculator, operatii cu fisiere si/sau directoare Din terminalul lansat la laborator, tastele functionale nu sunt interpretate corect, asa ca trebuiesc folosite combinatii de taste, de ex, in loc de F3 vor folosi Esc si apoi 3; in loc de F10 vom folosi Esc si 0 k) Programul ssh ssh user@host pentru conectarea utilizatorului user la calculatorul host. Conectarea este posibila doar daca pe host-ul destinatie ruleaza un server de ssh, de exemplu sshd ------------------------------------------------------------------------------------------ Crearea de conturi de utilizatori locali ---------------------------------------- 1) useradd passwd De exemplu: useradd unu passwd unu Prima comanda creeaza contul de utilizator numit unu, a doua schimba parola utilizatorului unu. Prima comanda are mai multi parametri, pe care ii puteti vedea cu ajutorul comenzii man. Atentie! NU dati comanda a doua fara parametrii, pentru ca veti schimba parola utilizatorului curent (adica parola lui root) Comanda useradd mai are si alte optiuni, care se pot afla daca dati man useradd. 2) Verificare Ma conectez in contul creat cu ajutorul comenzii su su - su - de 2 ori, pentru ca prima data nu imi cere nici o parola, fiind root. Doar daca reusesc sa ma conectez cu cel de-al doilea su, inseamna ca e bine creat contul. Caracterul - specifica sa se tina cont de fisierele de configurare ale lui cele 2 comenzi de mai sus modifica doua fisiere, si anume fisierele passwd si shadow, ambele aflate in directorul /etc. Ca sa vad ce anume contin, filtrat, doar liniile ce contin userul creat de mine pot da more /etc/passwd | grep more /etc/shadow | grep Din comanda "su" se poate iesi cu exit sau Ctrl+D sau logout 3) Alte comenzi users - afiseaza utilizatorii conectati in momentul de fata who - afiseaza utilizatorii conectati in momentul de fata finger - afiseaza informatii despre utilizatorul usermod - modifica parametrii utilizatorului userdel - sterge utilizatorul -------------------------------------------------------------------------------------------- Crearea si utilizarea grupurilor de utilizatori ----------------------------------------------- 1) a) groupadd - creaza un grup nou (in general nu e necesar) b) gpasswd - stabileste sau modifica parola pentru 2) a) gpasswd -a - adauga un utilizator la un grup b) gpasswd -d - sterge un utilizator dintr-un grup c) gpasswd -A - stabileste un nou administrator pentru un grup Implicit, administratorul unui grup este root. Daca folosim comanda de la punctul c), atunci putem, de exemplu, ca sa facem ca un utilizator sa-si poata administra propriul grup (cel care are acelasi nume cu el, grup care exista implicit la distributia redhat) 3) newgrp - conecteaza utilizatorul curent la grupul Nu il conectati pe root la nici un grup, ca nu se observa nimic, nici ca functioneaza ce incercati sa faceti nici ca nu, pentru ca probabil root poate sa se conecteze la orice grup fara a mai verifica nimic (parola, etc.). Incetarea conectarii la un grup se face cu comanda exit sau cu Ctrl-D. Doar intre conectare si deconectare ne putem exercita drepturile unui grup, nu tot timpul, ca in Windows. 4) Verificare more /etc/group | grep more /etc/gpasswd | grep more /etc/group | grep Prima comanda ne arata daca exista grupul cu numele si informatii despre el. A doua, Parola criptata a grupului si alte informati despre el. A treia, daca este membru in grup 5) Alte comenzi groupdel - sterge un grup groupmod - modifica un grup groups - afiseaza grupurile din care face parte utilizatorul curent