Administrarea Sistemelor Linux
Administrarea Sistemelor Linux
Administrarea Sistemelor Linux
Cap. 1. Introducere
1.1.
Scopul cursului
Scopul cursului Administrarea sistemelor Linux este iniierea n configurarea i administrarea unui server avnd instalat sistemul de operare Linux, asigurarea bunei funcionri a serviciile pe care acesta le ofer i meninerea securitii reelei.
1.2.
Bibliografie
Suportul de curs are la baz lucrarea Drago Acostchioaie, Administrarea i configurarea sistemelor Linux, ed. a Il-a, Polirom, Iai, 2003 (http://www.adt.ro/ admin/). Alte referine bibliografice recomandate sunt urmtoarele: 1. Kirch, O.; Dawson, T., Linux Network Administrators Guide, 2nd Edition, OReilly & Associates, Inc., 2000: http://www.oreilly.com/catalog/ linag2/. 2. Hunt, C., Linux Network Servers, SYBEX Inc., Alameda, 2002. 3. Frisch, R, Essential System Administration, OReilly & Associates, Inc., Sebastopol, 1995. 4. Mourani, G., Securing and Optimizing Linux: The Ultimate Solution, Open Network Architecture Inc., 2001: http://www.openna.com/ . 5. http://www.linux.org: situl oficial al sistemului de operare Linux. 6. http://www.linuxhq.com: o baz de date complet de surse, patch-uri i documentaii Linux. 7. http://sourceforge.net: cel mai puternic sit dedicat dezvoltrii de programe open-source. 8. http://freshmeat.net: cea mai mare baz de date de programe open-source. 9. http://www.adt.ro/projects/linux-ro/: documentaii referitoare la Linux traduse n limba romn.
1.3.
Ce este Linux
Linux este un sistem de operare gratuit (open source), compatibil UNIX. UNIX este un sistem multi-tasking - putnd executa n mod concurent un numr nedeterminat de programe, i multiutilizator - utilizatorii avnd acces la resursele calculatorului de la diferite terminale plasate local sau la distan. Linux respect standardele POSIX, suport toat gama de aplicaii GNU i posed o interfa grafic X Window System. Scurt istoric n anul 1969, cercettorii Kenneth Thompson i Dennis Ritchie de la AT&T Bell Labs au nceput dezvoltarea unui sistem de operare numit UNIX, pe un calculator PDP-7. Multe idei din UNIX au fost preluate dintr-un sistem anterior, MULTICS. n 1972, sistemul a fost rescris n proasptul
nscut limbaj de programare C. Astfel, UNIX-ul a devenit portabil i pe alte maini, deoarece doar o mic parte a sa mai era realizat n limbaj de asamblare. Sistemul a fost lansat n curnd n comunitatea academic, putnd astfel nva de la utilizatorii si. n 1979 a fost lansat versiunea V7 de UNIX, care a constituit ulterior "printele" celorlalte implementri. O serie de profesori de la Universitatea Berkeley a dezvoltat propria variant de UNIX, denumit BSD (Berkeley Software Distribution), n timp ce AT&T continua n paralel dezvoltarea propriei variante, culminnd cu UNIX System V. n anii care au urmat, BSD a fost preluat i de alte organizaii, rezultnd ale variante derivate din acesta, cum ar fi una proprietar, realizat de Sun Microsystems i denumit Solaris, i trei opensource, denumite FreeBSD, NetBSD i OpenBSD. De asemenea, System V a constituit i el o serie ntreag de "clonri" i versiuni derivate. Alt pas important n evoluia UNIX-ului a fost nfiinarea, n 1984, de ctre Richard Stallman (cercettor pe atunci la celebrele MIT AI Labs), a fundaiei FSF (Free Software Foundation), care apr interesele autorilor de programe gratuite (pentru informaii suplimentare, a se vizita situl http://www.gnu.org). El a pornit proiectul GNU (denumire recursiv, dat n spiritul hacker-ilor anilor '80, nsemnnd GNU's Not Unix), cu scopul de a crea o versiune gratuit (open-source) a sistemului UNIX, din considerentul c toate cunoinele nglobate ntr-un program trebuie s fie publice. Primul program realizat de ctre Stallman n cadrul proiectului GNU a fost Emacs, care a devenit operaional n 1985. Editorul de texte Emacs a fost fcut disponibil pe serverul ftp.prep.ai.mit.edu. Fiindc multe persoane erau interesate de acest editor, dar nu aveau acces la Internet, Stallman a pus la dispoziia publicului o band (tape) coninand programul, contra sumei de 150$. n acest mod a nceput prima afacere de distribuie de software free. n anul 1990, proiectul coninea deja o serie complet de aplicaii (cum ar fi compilatorul GCC, editorul Emacs, precum i un numr impresionant de alte programe), singura component major care lipsea fiind nucleul sistemului de operare. n acest moment intervine n scen sistemul Linux. Linux a aprut iniial ca un proiect al lui Linus Torvalds, student pe atunci la Universitatea din Helsinki. Prima versiune funcional a nucleului Linux a fost lansat pe 5 octombrie 1991. Acest sistem de operare a fost combinat cu programele GNU, diferite programe BSD precum i cu sistemul grafic X Window de la MIT, pentru a forma un sistem de operare complet, denumit GNU/Linux. Linux a cunoscut ncepnd cu lansarea sa un succes crescnd, ajungnd n acest moment pe locul al doilea din punct de vedere al numrului de utilizatori. n momentul fa se estimeaz c exist circa 18 milioane de utilizatori de Linux (pentru detalii, a se vedea situl http://counter.li.org). Un studiu recent efectuat de IDC relev faptul c Linux este privit ca avand avantaje semnificative fa de alte sisteme de operare n ceea ce privete preul, costul de administrare, stabilitatea i performana. Spre deosebire de alte sisteme de operare, nici o firm nu este proprietara sistemului Linux. Mai mult dect att, el este protejat de Licena Public GNU, care stipuleaz faptul c se poate copia i utiliza gratuit codul programelor, cu condiia de a se permite i altora s fac acelai lucru. Linux i toate programele distribuite mpreun cu distribuia Linux sunt gratuite i, permis de licena mai sus menionat, poate fi copiat sau redistribuit fr nici un fel de restricii. Sistemul Linux este alctuit propriu-zis dintr-un nucleu (kernel) i un numr uria de
programe i utilitare. Este un sistem de operare complet, care conine practic orice tip de aplicaie, putnd astfel juca o varietate de roluri, printre care: Server. Sistemul Linux conine un suport excepional pentru reea, pund oferi att serviciile specifice Internet-ului, cum ar fi Web, FTP, pot electronic, grupuri de discuii etc., precum i alte servicii de reea, cum ar fi server de imprimante, server de fiiere (NFS) .a.m.d. De asemenea, el poate substitui un server Windows NT/2000/XP sau Novell Netware. Stabilitatea, fiabilitatea i securitatea sa sporite i confer posibilitatea de a fi utilizat pe servere high-end i n medii critice. Sistem personal. Linux poate fi utilizat pentru redactarea de texte, tiprirea la imprimant, conectarea i navigarea pe Internet, citirea corespondenei. n plus, este o platform multimedia perfect pentru jocuri, pentru vizionarea de filme sau audiia de piese muzicale. Sistem utilizat la serviciu. Sistemul Linux conine o suit complet de programe pentru birou, cum ar fi programe de calcul tabelar, redactare profesionist de texte, realizarea de prezentri etc. Instrumentele pentru acces la Internet reprezint i ele un punct forte al acestui sistem. Sistem educaional. Atuul principal este costul practic nul al sistemului. Instalarea de sisteme proprietare pe multe calculatoare poate fi extrem de costisitoare. Linux include aplicaii, compilatoare i medii integrate de dezvoltare a cror calitate este n general superioar celei a programelor comerciale.
Un sistem Linux, alctuit dintr-un program de instalare, nucleu i aplicaii gata compilate se numete distribuie Linux. Numeroase companii i organizaii au realizat asemenea distribuii. Acestea sunt disponibile gratuit pe Internet, dar pot fi achiziionate i contra cost ca pachete formate din CDROM-uri i manuale de utilizare. Distribuiile Linux cele mai rspndite sunt Fedora/Red Hat (http://fedora.redhat.com), Mandrake (http:// www.mandrake.com), SuSE (http://www.suse.de), Debian (http://www.debian.org), Caldera (http://www.caidera.com) i Slackware (http://www.siackware.org) i Knoppix (distribuie "live", care poate fi folosit prin pornirea direct de pe CD, nefiind necesar instalarea acesteia, disponibil la http://www.knopper.net/knoppix/indexen.html).Diferenele dintre aceste distribuii constau doar n sistemele diferite de instalare i programele de configurare folosite. Majoritatea acestor distribuii, precum i multe altele, pot fi gsite pe situl http://www.linuxiso.org.
1.4.
Ca n cazul oricrui sistem de operare compatibil UNIX, principala component a Linux-ului o constituie nucleul (kernel). Acesta este ncrcat n memorie dup pornirea calculatorului, de ctre un program special numit ncrctor de boot. Similar programelor obinuite, nucleul accept o serie de argumente i parametri, acetia putnd fi transmii prin intermediul ncrctorului de boot. Nucleul este lansat n execuie i ramne n memoria volatil (RAM) tot timpul utilizrii sistemului Linux. Driverele pentru dispozitivele hardware i anumite funcii ale nucleului pot fi compilate fie monolitic (ca parte integrant din nucleu) fie ca module; n acest ultim caz ele vor fi ncrcate n
momentul n care devin necesare sau la dorina utilizatorului. n cadrul sistemului pot rula mai multe programe n regim concurent, regsite sub numele de procese. Exist o serie de procese speciale, care ruleaz n fundal (adic nu interacioneaz cu utilizatorul), cu rolul de a asigura diverse servicii (cum ar fi tiprirea la imprimant, bazele de date, server Web .a.m.d.). Aceste procese poart denumirea de daemoni. Interfaa grafic utilizat pe sistemele Linux este X Window, o interfa complex, cu posibilitatea lucrului n reea. Aceast interfa poate cpta aspecte i moduri de interaciune cu utilizatorul total diferite, prin intermediul mediilor desktop precum KDE i GNOME, sau a managerelor de fereastr. X Window este practic un ansamblu de procese, care pot rula eventual i pe calculatoare diferite, existnd posibilitatea ca o aplicaie s se execute pe un calculator iar afiarea s se fac pe un altul. Accesul la resursele sistemului se realizeaz prin intermediul utilizatorilor creai n sistem, n funcie de drepturile atribuite acestora. Astfel, se asigur o bun securitate a sistemului. Administrarea sistemului se efectueaz de ctre un utilizator special, denumit root.
Loading jbd.o nodule Journalled Block Deuice driuer loaded Loading ext3.o nodule Mounting -proc filesysten Creating root deuice Mounting root filesysten with flags noatine kjournald starting. Connit interual 5 seconds EXT3-fs: nounted filesysten with ordered data node. Renounting deufs at correct place if necessary Mounted deufs on /deu Freeing unused kernel nenory: 156k freed scsiO: Tagged Queuing now actiue for Target 0 INIT: version Z.85 booting Mount i ng proc f iIesysten Setting default font (lat0-16): Got silent jpeg. Uelcone to Mandrake Linux 9.2 Press I to enter interactiue startup. Running DeuFs daenon Unmounti ng ini trd: Configuring kernel parameters: Setting clock (utc): Mon Dec 15 14:57:24 EET 2003 Loading default keynap: Setting hostnane IocaIhost: Initializing USB controller (usb-uhci): Mount USB filesysten Checking root filesysten ^deu^sdal: clean, 121022^262144 files, 444178^524112 blocks Renounting root filesysten Actiuating suap partitions: Finding nodule dependencies: in read-urite node:
n timpul pornirii sistemului Linux, pot fi remarcate o serie de mesaje care de obicei se deruleaz cu vitez pe ecran. Primele mesaje afiate sunt cele generate de nucleu, dup care urmeaz mesajele cauzate de pornirea serviciilor, despre care am discutat mai sus. Mesajele generate de ctre nucleu indic detectarea echipamentelor hardware de ctre driverele n cauz. Ele sunt utile att n vederea diagnosticrii funcionrii acestora ct i pentru verificarea corectitudinii configuraiei n care a fost compilat nucleul. Mesajele nucleului pot fi revzute ulterior prin apelul comenzii dmesg. Mesajele legate de pornirea serviciilor sistemului conin descrierea serviciului i un cod de succes a pornirii serviciului. Astfel, codurile afiate pot fi: OK - avnd culoarea verde, i semnificnd pornirea cu succes a serviciului, FAILED - avnd culoarea roie, semnificnd o pornire euat, i PASSED - avnd culoarea galben, atunci cnd pornirea unui serviciu a generat o eroare, aceasta putnd fi ns corectat. n funcie de configuraie, sistemul va porni sistemul de autentificare a utilizatorilor, fie n mod text, fie n mod grafic (vezi infra). 2.1.3. Intrarea i ieirea din sistem Fiecare persoan creia i este permis s lucreze pe un sistem UNIX trebuie s posede un cont de utilizator pe respectivul calculator. Fiecare utilizator are asociate un set de drepturi, avnd astfel acces la o anumit serie de resurse ale sistemului. Acesta deine
Mandrake Linux
un director propriu, n care sunt stocate fiierele personale, inclusiv configurrile aplicaiilor etc. Orice sesiune de lucru UNIX ncepe cu autentificarea i acceptarea utilizatorului n sistem. Pentru a a-i fi permis accesul, acesta trebuie s furnizeze numele su de utilizator i parola. Intrarea n sistem grafic X Window va conduce la ncrcarea mediului desktop preferat de utilizator (KDE sau GNOME), n configuraia specific acestuia, nsoit de programele configurate a fi pornite automat. Ieirea din sistem n cazul utilizrii X Window se face prin selectarea opiunii Logout, controlul fiind cedat sistemului de autentificare grafic sau consolei virtuale din care a fost lansat n execuie, dup caz. Intrarea la consol va fi de felul: Fedora Core 3 Kernel 2.6.10 on an i686 fenrir login: dragos Password: Dup introducerea corect a parolei (care nu va fi afiat pe ecran), va fi pornit execuia interpretorului de comenzi. Ieirea din sistem (echivalnd cu ncheierea execuiei interpretorului de comenzi) se face prin comanda exit sau logout. Poate fi folosit i combinaia de taste Ctrl+D, care genereaz n UNIX codul pentru sfrit de fiier (End Of File). 2.1.4. Oprirea sistemului nainte de oprirea sistemului, toate programele n curs de execuie trebuie nchise, deoarece este posibil ca acestea s piard informaii nesalvate. n acest sens, se recomand verificarea tuturor consolelor virtuale pentru a nu exista aplicaii pornite, nainte de oprirea calculatorului. Pentru oprirea sistemului din sistemul X Window, se va selecta optiunea Logout iar apoi, din sistemul de autentificare, opiunea Shutdown - oprire, sau Reboot - repornire (n unele versiuni Restart).
Are you sure you want to log out? iSave current setup: Action (S' Log out Shut down Restart the computer S3 Help
U Cancel
ol
Oprirea sistemului din mod text se va face din utilizatorul root sau utilizatorul curent dac i sunt conferite drepturi n acest sens, prin intermediul comenzii hait - oprire sau reboot - repornire. Util este i comanda poweroff, care va trimite calculatorului comanda de nchidere automat, dac configuraia sa hardware permite acest lucru. Repornirea sistemului se poate face i prin apsarea combinaiei de taste Ctrl+Alt+Del. 2.1.5. Consola sistemului Din perspectiva UNIX clasic, accesul la sistem se face prin intermediul terminalelor, aflate local sau la distan. Linux implementeaz un sistem care permite deschiderea mai multor sesiuni de lucru la consol, concept care poart numele de terminal virtual. La pornirea sistemului n mod text (consol), controlul este predat terminalului virtual cu numrul 1. Comutarea ntre terminalele virtuale se face cu ajutorul combinaiei de taste Alt + Fn, unde n reprezint numrul terminalului. O excepie notabil o face sistemul X Window, cruia n momentul pornirii i se aloc un terminal virtual, i anume cel avnd numrul egal cu numrul maxim de terminale virtuale alocate plus unu. Spre exemplu, dac numrul maxim de terminale virtuale este 6 (configuraia standard dup instalare), atunci sistemul X Window va utiliza terminalul 7. Comutarea din mod grafic n mod text se va face prin intermediul combinaiei de taste Ctrl + Alt + Fn. Sesiunile de lucru clasice se desfoar n mod text, de aceea acest mod mai este cunoscut i sub numele de mod consol. Aa cum menionam i mai devreme, sesiunea de lucru ncepe odat cu autentificarea corect a utilizatorului n sistem i pornirea execuiei interpretorului de comenzi (shell). Sesiunea se ncheie odat cu ncetarea execuiei acestui interpretor. Istoricul informaiilor afiate pe ecranul terminalului virtual (n limita dimensiunii spaiului de memorie alocat pentru aceasta) poate fi accesat prin intermediul combinaiilor de taste Shift+Pgup (pagina precedent) respectiv shift+PgDn (pagina urmtoare). Aceast operaiune poate fi realizat numai pentru informaiile afiate dup ultima schimbare a terminalului. Terminalele virtuale permit i utilizarea mouse-ului. Astfel, selecia efectuat cu ajutorul cursorului mouse-ului poate fi copiat la locaia curent a cursorului prin apsarea butonului-dreapta. Dac se utilizeaz sistemul X Window, o sesiune de lucru (nsoit n mod evident de lansarea interpretorului de comenzi) poate fi deschis prin intermediul aplicaiilor konsole, gnome-terminal sau xterm. n mod evident, utilizatorul care deine sesiunea este cel care a pornit mediul X Window.
Un interpretor de comenzi (shell) reprezint un program capabil de a executa comenzi introduse de utilizator i de a controla modul de afiare a rezultatelor acestor comenzi. Un shell UNIX este att un interpretor de comenzi, interfa ntre utilizator i un larg set de comenzi i utilitare puse la dispoziie, ct i un limbaj de programare care ofer mecanisme complexe de operare cu sistemul. Bash este un interpretor de comenzi specific sistemului de operare Linux. Numele su este un acronim de la Bourne-Again Shell, dup Steve Bourne, autorul shell-ului sh pentru UNIX, predecesorul bash-ului. 2.2.1. Generaliti Exist dou categorii de comenzi care pot fi apelate prin intermediul interpretorului: comenzi interne (builtin, care se gsesc implementate n cadrul shell-ului); ca exemple de comenzi interne putem enumera cd, echo sau kill - lista tuturor comenzilor interne poate fi vizualizat prin intermediul comenzii help. comenzi externe (acestea se gsesc separat fiecare n fiiere executabile; de exemplu, passwd, ls sau mail). Comenzile externe pot fi fiiere executabile (programe binare rezultate n urma procesului de compilare din programe surs scrise n C sau alte limbaje compilabile) sau script-uri (fiiere de comenzi, interpretate de un procesor de comenzi, cum ar fi bash sau Perl).
Shell-ul de cele mai multe ori este apelat interactiv, n sensul c va dialoga cu utilizatorul, interpretnd i executnd comenzile introduse de acesta. Utilizarea interactiv a interpretorului de comenzi (de la invocarea sa i pn la terminarea activitii) constituie o sesiune de lucru. Pornirea interpretorului de comenzi se poate face n dou moduri: n mod automat, la conectarea n sistem, fie de la consola calculatorului, fie de la distan prin telnet sau ssh, dup autentificarea utilizatorului; din cadrul altui program care necesit rularea interpretorului de comenzi pentru a executa diferite comenzi sau la cererea utilizatorului, cum este cazul ferestrelor- terminal atunci cnd se folosete sistemul X Window.
Pentru a se indica utilizatorului c interpretorul de comenzi este gata de a executa urmtoarea comand, se va afia un prompt. Astfel, n exemplul de mai jos, prompt-ul include adragos, desemnnd numele de cont al utilizatorului, iar fenrir este numele mainii pe care se lucreaz. Se precizeaz i numele directorului curent (n acest caz, directorul rdcin): [adragos@fenrir /]$ pwd / Prsirea shell-ului interactiv (sesiunii curente de lucru) se realizeaz prin intermediul comenzii exit sau acionnd combinaia de taste ctrl+d (sfrit de fiier n UNIX). Pentru editarea facil a comenzilor introduse, pot fi folosite tastele sgei sus i jos pentru a parcurge lista istoricului comenzilor introduse. n cadrul unei linii de comenzi, combinaia CTRL+A mut cursorul la nceputul liniei, iar CTRL+E la sfritul ei. De asemenea, shell-ul ofer facilitatea numit tab completion care d posibilitatea introducerii pariale a numelui unui fiier, la apsarea tastei Tab interpretorul completnd (dac este posibil) cea mai bun potrivire cu textul-prefix deja introdus. Pentru mai multe detalii referitoare la shell-ul bash recomandm consultarea lucrrii Buraga S., Tarhon-Onu V., Tanas S., Programare Web n bash i Perl, Polirom, Iai, 2002.
3.2.2. Apelarea comenzilor Sintaxa general pentru apelarea unei comenzi - fie ea intern sau extern - n cadrul interpretorului de comenzi este: comand [ opiuni ] [ parametri ] n care opiuni indic opiunile dorite (n general prefixate de caracterul "-"), iar parametri, parametrii care vor fi transmii programului. Att opiunile ct i parametrii sunt opionali, iar numrul lor este nelimitat, variind n funcie de comanda sau programul apelat i de nevoile utilizatorului. Separatorii pentru numele comenzii, opiuni i parametri sunt caracterele spaiu sau tab. Caracterul "\ la sfritul liniei semnific faptul c aceasta continu pe linia urmtoare. Pot fi introduse mai multe comenzi ntr-o singur linie de comand, separate prin caracterul ";". O comand poate fi executat n fundal (background), dac la apelarea sa se adaug caracterul "&. Majoritatea comenzilor de sistem i programelor realizate de ctre fundaia GNU suport n mod standard opiunea --heip, care afieaz modalitatea utilizrii sale, precum i opiunile i parametrii admii. 2.2.3. Redirecionarea intrrilor i ieirilor n UNIX, exist trei dispozitive logice de intrare/ie iere: Intrarea standard (stdin), de la care se citesc datele de intrare. Implicit, intrarea standard are asociat tastatura;
Ieirea standard (stdout), unde sunt afiate datele de ieire. Implicit, ieirea standard are asociat terminalul curent; Ieirea de eroare standard (stderr), la care sunt afiate mesajele de eroare. Implicit, aceasta are asociat terminalul curent.
n cadrul shell-ului, exist posibilitatea redirecionrii acestor dispozitive, dup cum urmeaz: redirecionarea intrrii se realizeaz prin intermediul operatorului de redirecionare "<";
redirecionarea ieirii se poate face cu ajutorul operatorului ">". Spre exemplu, comanda ls -la > list va trimite ieirea comenzii ctre fiierul list. Poate fi utilizat i operatorul ">>", care, spre deosebire de operatorul ">", nu suprascrie fiierul spre care se face redirecionarea, ci adaug ieirea la sfritul acestuia (bineneles, n cazul n care fiierul exist);
redirecionarea ieirii de eroare se realizeaz prin "2>", cifra "2" reprezentnd numrul descriptorului de fiier corespunztor ieirii standard pentru erori. De asemenea, redirectarea poate fi utilizat n rnduri multiple n cadrul unei linii de comand,
Mecanismul pipe
Acest mecanism const n nlnuirea comenzilor, adic prima comand trimite ieirea standard a celei de-a doua comenzi .a.m.d. Sintaxa acestui mecanism este: comandai | comanda2 Spre exemplu, comanda ps aux | grep squid | wc -l va afia numrul de procese squid care ruleaz pe main (ieirea comenzii ps aux, adic lista de procese curente, este trimis ca intrare comenzii grep squid filtrnd doar procesele cu numele squid - care, la rndul ei, genereaz intrarea pentru comanda wc -l, ce contorizeaz numrul de linii dintr-un text). O utilizare frecvent a acestui mecanism o constituie comenzile de tip filtru. Cele mai uzuale comenzi de acest gen sunt: more - pagineaz textul primit ca intrare, cu posibilitatea de defilare n jos, cu cte o linie sau pagin de ecran;
less - asemntoare cu more, dar ofer posibilitatea de defilare n ambele sensuri; wc - numr caracterele (opiunea "-c"), cuvintele ("-w") sau liniilor (opiunea "-l");
grep - caut un ir de caractere (pattern) n cadrul intrrii, trimind la ieiere doar liniile de text care conin respectivul ir. irul de caractere de cutat poate conine i unul dintre urmtoarele meta-caractere:
2.2.5. Specificatori Interpretorul de comenzi bash permite utilizarea specificatorilor de fiiere. Astfel, la specificarea numelui unui fiier pot fi folosite urmtoarele meta-expresii (wildcards) pentru a nlocui o parte din numele acestuia: caracterul "?" nlocuiete un singur caracter;
Spre exemplu, specificatorul de fiier oferta[i-65]* va desemna numele de fiiere care ncep cu oferta, urmat de un numr ntreg aflat n intervalul 1-65, putnd fiind succedat de oricare alte caractere. ntre delimitatorii "[" i "]" poate fi utilizat i meta-caracterul "|", cu semnificaia operaiunii logice SAU, precum i "!", reprezentnd operaiunea de negaie logic. Spre exemplu, specificatorul doc[!a]* desemneaz numele de fiiere care ncep cu doc, urmat de orice caracter diferit de "a", apoi de alte caractere. 2.2.6. Variabile de sistem n bash, variabilele sunt de tip ir de caractere, ele fiind create la momentul definirii lor. Stabilirea valorii acestora se face prin comanda set variabii=vaioare. Eliminarea din memorie a unei variabile se va face cu ajutorul comenzii unset variabil. n mod normal, variabilele definite nu sunt vizibile i n procesele-copil ale shell- ului curent. Pentru ca o variabil s fie vizibil i n cadrul acestor procese, aceasta trebuie exportat cu ajutorul comenzii export variabil [ =valoare ]. La variabile se face referire prin prefixarea caracterului "$" la numele acestora (de exemplu, $HOME). Exist o serie de variabile predefinite, cele mai importante fiind: HOME - calea absolut a directorului home al utilizatorului curent (spre exemplu,
/home/dragos);
redhat-linux-gnu );
2.2.7. Script-uri shell Scripturile sunt fiiere coninnd comenzi ale unui limbaj - n cazul nostru interpretorul de comenzi. Ele sunt utile pentru automatizarea unor activiti cum ar fi administrarea sistemului. Acestea trebuie s aib drept de execuie (de exemplu 755) pentru a putea fi apelate. De obicei, orice fiier script ncepe cu numele programului care va fi apelat pentru a executa comenzile din cadrul scriptului: #!/bin/sh Fiierul script poate conine i comentarii, introduse prin caracterul "#", fiind valabile pn la sfritul liniei. 2.2.8. Comenzi pentru asisten (Help) Comenzile mai importante pentru asistena utilizatorului sunt: apropos cuvnt_cheie - afieaz descrierea comenzilor, funciilor sau fiierelor care conin cuvntul-cheie specificat, precum i seciunile de manual n care pot fi regsite informaii detaliate;
help [ comand ] - afieaz informaii despre comanda specificat. Dac aceasta nu este menionat, va fi afiat lista tuturor comenzilor interne ale bash- ului.
man [ seciune ] comand - afieaz pagina de manual despre comanda specificat (sintaxa, descriere, explicarea opiunilor oferite, semnificaia parametrilor, comenzi nrudite etc.). Parametrul comand poate fi o comand, un nume de apel de sistem, o funcie de bibliotec C/C++ sau numele unui fiier de configurare. Manualele sunt organizate pe seciuni, dup cum urmeaz:
o 1 - programe (comenzi).
o 2 - funcii sistem.
programare Tcl/Tk. whatis comand - afieaz informaii rezumate despre funcionalitatea comenzii specificate, precum i seciunile de manual de unde pot fi obinute informaii detaliate.
2.3. Fiierele
2.3.1. Generaliti Ca i n alte sisteme de operare, n Linux informaiile (date sau programe) sunt memorate n fiiere files). n Linux, numele de fiiere pot avea lungimea de maxim 255 de caractere, literele mici diferind de cele mari (case-sensitive). n componena unui nume de fiier pot intra orice caractere, exceptnd "/", care reprezint delimitatorul de nume de director. Linux, ca dealtfel orice sistem UNIX, nu utilizeaz ideea de extensie (cele trei caractere prefixate de punct care ncheie numele unui fiier, sub sistemele DOS/Windows) pentru a determina tipul unui fiier. Totui, anumite aplicaii pot necesita utilizarea unor extensii specifice (e.g. compilatorul de C sau serverul/navigatoarele Web). Fiierele pot fi de mai multe tipuri: o fiiere text, structurate pe linii, fiecare dintre aceasta coninnd caractere ASCII afiabile, i terminndu-se cu caracterul special Carriage Return (CR);
o fiiere binare, folosite pentru stocarea de cod executabil, informaii multimedia, baze de date, date
diverse etc. Intern, fiierele ordinare sunt identificate prin intermediul unui numr denumit i-number, un index dintr-un ir de i-noduri. I-nodurile conin atribute asociate fiecrui fiier, dintre care enumerm pe cele mai importante: o tipul;
o proprietarul (identificatorul utilizatorului care deine fiierul, UID, precum i identificatorul grupului care deine fiierul, GID);
o permisiunile de acces, de trei tipuri: citire (Read), scriere (Write) i execuie (eXecute), grupate n trei categorii: pentru proprietar (user), pentru grupul care l deine (group) i ali utilizatori (others);
o lungimea;
o timpii ultimei operaiuni de accesare, modificare i schimbare a strii (modificarea i-nodului nsui);
speciale, astfel:
o dispozitive, fie ele fizice (discuri, imprimante, mouse, plci de reea etc.) sau virtuale (memoria intern, terminale etc.). Fiierele speciale de tip dispozitiv pot fi orientate caracter - caz n care citirile i scrierile se realizeaz direct, cte un caracter, n mod uzual transferndu-se cantiti mici de date, sau bloc - pentru care citirile i scrierile se realizeaz prin intermediul unor zone de memorie tampon. Pentru exemplificare, terminalele sunt dispozitive de tip caracter (character devices), iar discurile - dispozitive de tip bloc (block devices);
o pipe-uri, constituind mod de transfer de informaii ntre procese locale, practic cozi FIFO (First In-First Out);
legturi, "shortcut-uri" ctre fiiere sau directoare, pentru o mai uoar regsire sau accesare. Ele sunt percepute de utilizatori ca fiiere avnd nume proprii, dar care se refer de fapt la alte fiiere aflate pe disc. Orice operaie care se execut asupra fiierului-legtur (exceptnd tergerea) va avea practic efect asupra fiierului indicat de respectiva legtur. Legturile pot fi de dou tipuri: fizice (hard links) i simbolice (symbolic links).
Directoarele sunt stocate ca fiiere obinuite, permind astfel aranjarea fiierelor n manier ierarhic. Astfel, un fiier va fi referit printr-o cale de directoare (path) care va avea n componen nume de directoare delimitate de "/ " i la sfrit numele fiierului dorit. Fiecare utilizator are asociat, n cadrul interpretorului de comenzi, un aa-numit director curent. Directorul curent are proprietatea c toate fiierele (i sub-directoarele) pe care le conine pot fi identificate prin numele lor, fr a mai fi necesar s se precizeze i calea. Pentru a evita conflictele, un sistem de fiiere nu posed dect un singur director curent la un moment dat. Utilizatorul poate schimba directorul curent n orice moment, dup dorin. Putem avea ci relative care ncep avnd ca punct de referin directorul curent sau ci absolute, acestea din urm fiind prefixate ntotdeauna de "/ " i pornind de la directorul rdcin. Directorul rdcin (root) este stabilit atunci cnd se instaleaz sistemul de operare i va conine toate fiierele ce vor fi stocate, ntr-un arbore consistent de directoare. Chiar dac vom putea accesa mai multe sisteme de fiiere, posibil aflate pe discuri ori calculatoare diferite, va exista un director rdcin unic, spre deosebire de alte sisteme de operare. n cadrul fiecrui director exist dou fiiere cu numele speciale "." i ".." care semnific directorul curent i directorul printe, respectiv. Aceste dou directoare cu nume special vor putea fi utilizate n specificarea cilor relative. De exemplu, ../tmp va desemna directorul tmp al directorului printe, iar ./doc/manual.pdf va conduce la fiierul manual.pdf aflat n sub-directorul doc al directorului curent. Utilizatorul poate crea legturi care reprezint "scurtturi" ("shortcuts") ctre un fiier sau un director, pentru a putea fi mai uor de regsit sau accesat; astfel, un fiier poate fi regsit n cadrul sistemului de fiiere prin mai multe nume, eventual n directoare diferite. 2.3.2.
mkdir director - creaz un director; rmdir director - terge un director gol, n sensul c acesta nu conine dect intrrile . i .. ; cd [ director ] - schimb directorul curent de lucru n cale; pwd - afieaz numele directorului curent;
Afiarea coninutului unui director se obine n urma apelrii comenzii is. Aceasta ofer mai multe opiuni, dintre care le menionm pe cele mai importante:
-a listeaz i fiierele ascunse (cele ale cror nume ncepe cu caracterul ". "); -l afieaz formatul lung coninnd informaii suplimentare, cum ar fi cele referitoare la drepturile de acces, proprietar i grup, dimensiunea, data crerii etc.; -h are urmtorul efect: dimensiunile fiierelor sunt transformate din octei n kilo- octei (K) sau mega-octei (M) pentru a fi mai uor citite de utilizator; -R va lista i subdirectoarele, n mod recursiv (aceast opiune va putea fi folosit i n cazul altor comenzi).
O alt comand util este file, care determin tipul unui fier: Comanda du afieaz dimensiunile tuturor subdirectoarelor din directorul curent sau dintr-un director precizat. Se pot utiliza urmtoarele opiuni: -h: dimensiunile sunt scrise n kilo-octei sau mega-octei pentru a fi ct mai uor citite de utilizator. -s: se va afia doar dimensiunea directorului curent. -a: listeaz i dimensiunile fiierelor.
Comanda df listeaz informaii privitoare la spaiul liber al partiiilor de disc. Aceast comand are aceleai opiuni ca i comanda du. Comenzile pentru realizarea operaiunilor de baz cu fiiere sunt: cp realizeaz copierea unui fiier sau grup de fiiere, sintaxa uzual a comenzii fiind: cp surs destinaie. mv mut/redenumete fiiere, avnd aceeai sintax ca i cp; ln, cu sintaxa ln surs destinaie realizeaz o legtur la fiierul surs, avnd numele destinaie. Legturile pot fi hard (se creeaz i o copie a coninutului fiierului; la tergerea copiei, fiierul original e pstrat) sau simbolic (care va conine doar calea ctre fiierul surs; tergerea copiei determin i tergerea originalului). rm terge fiiere, avnd sintaxa rm fiier(e). Pentru toate comenzile de mai sus, exist o serie de opiuni utile: -f foreaz ndeplinirea aciunii, fr confirmare din partea utilizatorului sau ignornd erorile care pot surveni; -i mod interactiv, interognd utilizatorul dac ntr-adevr dorete s realizeze ceea ce s-a specificat (utilizai-o mai ales la rm); -v afieaz mai multe informaii la execuia comenzii respective; -R mod recursiv, comanda executndu-se asupra tuturor subdirectoarelor (foarte periculoas dac apare la rm, mai ales mpreun cu opiunea -f).
Cutarea fiierelor este posibil cu ajutorul comenzii find. Asupra fiierelor gsite se pot efectua i diverse operaii (de exemplu, execuia unor comenzi). Cutarea se va realiza pornind de la un anumit director care va fi explorat conform criteriilor de cutare alese. Sintaxa general a comenzii find este: find [ cale ] [ expresie ] [ aciune ] Componenta cale reprezint calea de directoare de la care se va ncepe cutarea, expresie semnific o expresie definind criteriul de cutare, iar aciune specific aciunea care va fi efectuat la gsirea unui fiier. Cutarea se poate realiza dup: numele unui fiier - se folosete opiunea -name specificator, n care specificator reprezint un specificator de fiier (se pot utiliza, desigur, meta-caracterele de substituie, precum "1" sau "?"); numele proprietarului - se utilizeaz opiunea -user nume, unde nume poate fi numele sau UID-ul proprietarului fiierului; grupul proprietarului - se folosete -group nume, unde nume poate fi un nume de grup sau un GID. Ca aciune executat la gsirea unui fiier putem avea: afiarea numelui fiierului gsit - se folosete opiunea -print (implicit); execuia unei comenzi - se utilizeaz opiunea -exec. Sirul de caractere {} va substitui numele fiierului gsit i va putea fi dat ca argument al comenzii care va fi executat. Vom sfri lista argumentelor pasate comenzii cu caracterul punct-virgul. De exemplu, cutarea tuturor imaginilor GIF din contul utilizatorului curent se va putea face astfel: $ find ~ -name '2.gif' -print Identificarea fiierelor utilizatorului dragos din directorul /tmp se va putea realiza prin linia: $ find /tmp -user dragos -print Pentru a terge toate fiierele temporare (al cror nume este terminat cu .bak sau ~) vom putea da urmtoarea comand: find / -name *.bak -o -name -exec rm "{}" ";" S-au utilizat ghilimelele pentru ca interpretorul de comenzi s nu interpreteze greit 1 tipul unui fiier - se folosete -type tip, unde tip poate fi unul dintre caracterele: f (fiier obinuit), d (director), l (legtur simbolic) etc.; 2 - - fiier obinuit
caracterele speciale "{}" sau ";". Opiunea -o semnific operatorul logic sau (or). Pot fi precizai i operatorii i (and) prin -a i negaie (not) prin caracterul "!". 2.3.3.
n UNIX, fiecare fiier sau director are un proprietar (owner) i face parte dintr-un grup (group) pentru care se pot specifica drepturi de acces. De asemenea, se pot stabili drepturi i pentru ceilali utilizatori (others) care nu dein fiierul n cauz i nici nu fac parte din grup respectiv. Drepturile asociate unui fiier sunt: citire ("r");
scriere ("w");
execuie ("x"). Pentru directoare, drepturile de acces au o semnificaie diferit, n sensul c "r" reprezint dreptul de inspectare a coninutului directorului (e.g. comanda ls), "w" permite adugarea i tergerea de fiiere, iar "x" este dreptul de "intrare" n director (e.g. comanda cd). De asemenea, pentru fiiere mai exist trei atribute speciale (bii): biii SUID (Set User ID) i SGID (Set Group ID), notate cu "s", care permit schimbarea identitii efective a utilizatorului cu cea a proprietarului fiierului pe durata execuiei programului respectiv (e.g. comanda passwd);
bitul Sticky ("lipicios", notat cu "t"), utilizat pentru directoare, indic faptul c tergerea unui fiier din cadrul acestuia va fi permis doar proprietarului su, chiar dac n director are oricine drept de scriere (de exemplu, directorul /tmp).
$ ls -la total 660652 drwxrxr-x 8 drwxr-xr-x 7 -rw-rr 1 -rw -----------1 -rw -----------1 -rw-r--r-1 -rw-r--r-1 -rw -----------1 -rw-r--r-1 drwxr-xr-x 3 -rw -----------1 -rw-r--r-1 -rw-r--r-1 drwx ---------2 -rw -----------1 drwx ---------2 drwxr-xr-x 17 Dup
dragos root dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos
dragos wheel dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos
512 No v 512 0 2285 4886 255 165 371 331 512 15783 801 852 512 675151872 512 1024 Sep Sep Sep No v Sep Sep Sep Sep No v No v Sep Sep Sep No v No v Oct
9 29 27 27 8 27 27 27 27 8 3 27 27 27 5 3 25
13: 20 10: 18: 18: 23: 14: 14: 14: 14: 23: 23: 14: 14: 15: 18: 23: 23: 56 37 37 22 29 29 29 29 20 22 29 29 20 21 22 29 .. .addressbook .addressbook.lu .bash_history .login .login_conf .mail_aliases .mailrc .mc .pinerc .profile .shrc .ssh 5.2.1-disc1.iso mail public_html
cu se poate observa n exemplul de mai sus , drepturile de acces sunt m afiate de comanda ls -l printr-o secven de zece caractere. Primul caracter se refer la tipul fiierului, dup cum urmeaz:
d - director
l - legtur
p - pipe
s-socket
Urmtoarele sunt trei grupuri a cte trei caractere, primul grup fcnd referire la drepturile proprietarului, al doilea - la cele ale grupului, iar al treilea - la drepturile celorlali utilizatori. n mod analog, primul caracter din grup semnific dreptul "r", al doilea - "w", iar al treilea - "x". Dac un anumit drept este revocat, apare caracterul "-". 2.3.3.1. Modificarea drepturilor de acces Modificarea drepturilor de acces se realizeaz cu ajutorul comenzii chmod. Pentru proprietar se utilizeaz litera "u", pentru grup - "g", iar pentru ali utilizatori - "o". Pentru acordarea sau revocarea de drepturi se folosete caracterul "+", respectiv "-". De exemplu, dac se dorete acordarea drepturilor de citire i scriere altor utilizatori pentru fiierul test.cc se folosete comanda: chmod o+rw test.cc Modificarea atributelor speciale se face dup cum urmeaz: pentru a seta bitul SUID se va folosi "u" la specificarea utilizatorului i "s" la specificarea drepturilor de acces, pentru bitul SGID se va folosi "g" la specificarea utilizatorului, iar pentru bitul Sticky se va utiliza caracterul "t". Astfel, pentru a seta bitul SUID pentru fiierul / usr/bin/passwd, se va folosi comanda: chmod u+s /usr/bin/passwd Mai exist o modalitate de modificare a drepturilor de acces. Astfel, fiecrui grup de drepturi i se asociaz o valoare numeric: fiecrui drept acordat i corespunde valoarea 1, fiecrui drept revocat i corespunde valoarea 0. Rezult astfel un numr binar format din trei cifre, care trebuie transformat apoi n octal. De exemplu, pentru rw- corespunde valoarea 110, adic 6 n octal. Deci, pentru a seta drepturile rw-rw-r-- pentru fiierul test.cc, va fi utilizat comanda: chmod 664 test.cc Pentru a modifica atributele speciale, este utilizat un grup de trei bii, primul semnificnd atributul SUID, al doilea, SGID, iar cel de-al treilea, Sticky. Spre exemplu, setarea bitului SUID i a drepturilor corecte de acces pentru fiierul /usr/bin/passwd se va putea realiza astfel (4 = bitul SUID setat, 5 = 101 = r-x, 1 = 001 = x, 1 = 001 = x): 2.3.3.2 Modificarea proprietarului Pentru modificarea proprietarului unui fiier se folosete comanda chown. Astfel, comanda: chown dragos:autori test.cc va stabili proprietarul dragos i grupul autori pentru fiierul test.cc. Specificarea grupului nu este obligatorie. De asemenea, schimbarea doar a grupului se poate face prin comanda chgrp, furnizndu-i ca argumente numele grupului i fiierul care va fi modificat.
Directorul /dev Modificarea proprietarului sau a grupului poate fi realizat numai de ctre utilizatorul root. 2.3.4. Structura sistemului de fiiere Linux Structura sistemului de fiiere Linux este standardizat n documentul numit Filesystem Hierarchy Standard (FHS). Standardul este disponibil la adresa http://www.pathname.com/fhs. Conine intrri care reprezint dispozitivele din sistem. Aceste fiiere sunt vitale pentru funcionarea sistemului. Directorul /etc Este rezervat fiierelor de configurare. Trebuie s conin directoarele X11, care conine fiierele de configurare ale sistemului X Window (cum ar fi XF86Config), i skel, care conine fiierele implicite ale utilizatorilor copiate la crearea acestuia. Directorul /home Conine fiierele utilizatorilor. Conine cte un subdirector pentru fiecare utilizator n parte, purtnd numele acestuia. Directoarele utilizatorilor se numesc directoare home. Directorul /lib Conine bibliotecile necesare pentru execuia executabilelor din /bin i /sbin (importante, de exemplu, pentru pornirea sistemului). Directorul /mnt Conine sisteme de fiiere montate temporar, cum ar fi CD-uri sau diskete. Directorul /opt Ofer spaiu pentru aplicaii software mari, cu o structur complex de directoare sau care conin subpachete. Directorul /proc Conine fiiere virtuale speciale care fie extrag informaii din nucleu, fie trimit informaii ctre nucleu. Directorul /sbin Conine executabile utilizate doar de ctre root. Executabilele sunt utilizate doar pentru pornire, oprire i repararea sistemelor de fiiere. Directorul /usr Conine fiiere folosite de toi utilizatorii; n mod normal, este montat ntr-o partiie separat, doar cu posibilitate de citire. Trebuie s conin urmtoarele directoare: bin (conine executabile), doc (conine documentaii), etc (conine fiiere de configurare generale), games (conine jocuri), include (conine fiiere header C), kerberos (conine sistemul Kerberos), lib (conine fiiere obiect i biblioteci utilizate de ctre programe), libexec (conine mici programe apelate de aplicaii), sbin (conine executabile pentru
administrarea sistemului, altele dect cele din /sbin), share (conine fiiere independente de platform), src (conine coduri-surs), iar X11R6 conine sistemul X Window. Directorul /usr/local Acest director este rezervat pentru uzul administratorului de sistem pentru a instala programe local (/usr poate fi exportat i ctre alte maini pentru a economisi spaiu pe respectivele maini). Structura acestui director este similar directorului /usr. Directorul /var Conine fiiere variabile utilizate de aplicaii. Include cozi de ateptare, informaii administrative i jurnale, baze de date, precum i fiiere temporare. Trebuie s conin urmtoarele subdirectoare: arpwatch, cache, db, ftp, gdm, kerberos, lib, local, lock, log, named, nis, opt, preserve, run, spool (cu urmtoarele subdirectoare: anacron, at, cron, fax, lpd, mail, mqueue, news, rwho, samba, slrnpull, squid, up2date, uucp, uucppublic, vbox, voice), tmp, www, yp. Jurnalele sistemului se gsesc in /var/log.
2.4. Procesele
2.4.1. Generaliti n cadrul oricrui sistem UNIX pot rula mai multe programe n regim concurent, regsite sub numele de procese. Procesele pot fi programele utilizator, precum i o serie de procese speciale. Aceste procese speciale ruleaz n fundal (adic nu interacioneaz cu utilizatorul), cu rolul de a asigura diverse servicii (cum ar fi tiprirea la imprimant, bazele de date, server Web .a.m.d). Aceste procese poart denumirea de daemoni. Un proces se afl la un moment dat ntr-o anumit stare, dup cum vom vedea mai jos. n mod normal, fiecare proces va fi programat s ruleze o perioad foarte scurt de timp, dup care este trecut ntr-o coad de ateptare, i aa mai departe. Strile posibile ale unui proces sunt urmtoarele: rulare (running), starea n care procesul primete o cuant de timp pentru a fi executat n cadrul procesorului (notat cu "r");
ateptare (sleep) n vederea cptrii unei cuante de timp procesor (notat cu "s");
ateptare (wait) n vederea realizrii unei operaii de intrare/ieire (aceste operaii fiind considerate mari consumatoare de timp, procesul va fi pus n stare de ateptare pn la terminarea respectivei operaiuni) (notat cu "d"); oprit temporar (stopped), stare n care procesul nu va fi programat temporar pentru execuie (notat cu "t");
terminare (terminate), sistemul pregtind eliminarea procesului din memorie, urmnd ca acesta s dispar complet;
zombie, stare n care un proces trece atunci cnd procesul su printe nu i-a determinat corect ncetarea execuiei sau zona de memorie pe care a ocupat-o nu a putut fi eliberat, ocupnd astfel inutil loc n coada de ateptare (notat cu "z").
Fiecare proces este identificat printr-un identificator de proces (PID - Process Identifier), un numr ntreg mai mare dect 1. n mod normal, procesele sunt interactive, adic comunic cu utilizatorul prin intermediul terminalului asociat - n cazul programelor cu interfa tip linie de comand (mod text) sau prin intermediul mediului grafic X Window - n cazul programelor dotate cu o asemenea interfa. Vom numi acest tip de procese ca fiind n prim-plan (foreground). O alt categorie de procese sunt acelea care nu interacioneaz cu utilizatorul, fiind vorba n general de daemonii menionai mai sus. Spunem c aceste procese ruleaz n fundal (background). Filosofia UNIX privind modul de via al proceselor este c orice proces este nscut de un alt proces, denumit proces printe (identificatorul acestuia este denumit PPID - Parent PID). La momentul pornirii sistemului, se creaz un pseudo-proces avnd PID egal cu zero, care lanseaz n execuie procesul init, acesta din urm avnd PID egal cu unu. Acesta va lansa alte procese, care vor lansa la rndul lor altele etc., astfel nct orice proces care ruleaz pe main are ca strmo pe init. Fiecare proces deine un set drepturi i proprieti, acestea motenindu-se de la printe la copil. Desigur, procesele copil i printe pot funciona i independent unul de cellalt, dar exist i situaii n care moartea unuia va conduce la supravieuirea celuilalt. Dac un proces i pierde printele, atunci PPID-ul su va fi automat considerat ca fiind egal cu 1 (cu alte cuvinte, printele su devine init). Procesele reprezint imaginea dinamic (ncrcat n memorie) a unui program, iar acel program este n fapt un fiier executabil deinut de un utilizator. Astfel, i procesul va avea un proprietar i va avea apartenen la un grup. Drepturile de acces ale procesului i controlul su depinde aadar de drepturile pe care le are proprietarul. Utilizatorii obinuii i pot controla doar propriile procese. Utilizatorul root poate controla activitatea tuturor proceselor de pe main. Lista de procese care ruleaz la un moment dat poate fi consultat prin intermediul comenzii ps. Argumentele uzuale sunt: a - are ca efect afiarea tuturor proceselor (nu doar cele aparinnd utilizatorului curent) u - realizeaz afiarea ntr-un format extins, incluznd i numele utilizatorului care deine procesele precum i starea acestora
Fr argumente, ps are ca efect afiarea proceselor interactive pe care le deine utilizatorul curent (cel care lanseaz comanda): Pentru a vedea lista complet de procese care ruleaz pe main, vom folosi comanda ps aux.
Util este i comanda top, care afieaz un "top" al proceselor, ordonate n funcie de timpul procesor consumat. Vor fi afiate de asemenea i informaii privind gradul de utilizare a memoriei.
SIGINT SIGQUIT SIGILL SIGKILL SIGSEGV SIGPIPE SIGTERM SIGUSR1 SIGUSR2 SIGCHLD SIGSTOP SIGCONT
2 3 4 9 11 13 15 16 17 18 23 25
Trimiterea unui semnal ctre un proces se face prin comanda: kill -semnal nr_proces
Semnalul poate fi specificat fie prin valoarea sa numeric, fie prin denumirea sa. Spre exemplu, comanda kill -SIGKILL 3419 (sau kill -9 3419) va trimite semnalul SIGKILL procesului avnd PID egal cu 3419, ceea ce va provoca ncetarea execuiei acestuia.
2.5. Utilizatorii
2.5.1. Generaliti Un utilizator reprezint o entitate care poate executa programe sau deine fiiere. Accesul la resursele sistemului se realizeaz prin intermediul utilizatorilor nregistrai, n funcie de drepturile atribuite acestora. Din punctul de vedere al sistemului de operare UNIX, un utilizator (numit i cteodat i cont de utilizator, user sau user account) nu este neaprat o persoan. Utilizatorii pot fi ori persoane reale, ori utilizatori sistem. Acetia din urm sunt rezervai pentru anumite aplicaii care efectueaz activiti specifice (cum ar fi utilizatorul apache utilizat de serverul httpd). De asemenea, poate exista un cont utilizator partajat de mai multe persoane dintr-un grup de lucru (e.g. departamentul operatorilor). n majoritatea cazurilor, ns, un utilizator nseamn o anumit persoan care poate "intra" (log in) n sistem, executa programe i utiliza sistemul. Fiecare cont are un nume de utilizator (username) care l identific. Numele de utilizator trebuie s fie unice. De asemenea, fiecare utilizator are asociat cte un identificator (User ID sau UID), care este folosit intern de ctre sistem. Baza de date de utilizatori ai sistemului se gsete stocat n fiierul /etc/passwd. Utilizatorii pot fi organizai n grupuri. Acestea sunt practic colecii de utilizatori care partajeaz o funcie sau drepturi similare i pot conine unul sau mai muli utilizatori. Fiecare grup are asociat un identificator de grup (Group ID sau GID), folosit intern de sistem. Grupurile definite n sistem sunt memorate n fiierul /etc/group. Folosii mpreun, identificatorul de utilizator respectiv identificatorul de grup determin drepturile de acces la fiiere i la alte resurse ale sistemului. Aceti doi identificatori sunt atribuii n mod automat la momentul crerii utilizatorului, ns pot fi modificai i ulterior. Fiierul care memoreaz informaiile despre utilizatori n UNIX este / etc/passwd, iar cel despre grupuri este /etc/group. Parolele utilizatorilor sunt memorate criptat, ntr-un fiier protejat, i anume /etc/shadow. 2.5.2. Utilizatorul root Exist un utilizator privilegiat, cu statut de supervizor al sistemului, denumit root, avnd identificatorul de utilizator egal cu zero. Acest utilizator are drepturi totale asupra sistemului, n sensul c poate, de exemplu, controla execuia proceselor, manipula orice fiier sau schimba diverse atribute asociate utilizatorilor. n mod normal, acest cont de utilizator trebuie folosit doar atunci cnd se execut anumite operaiuni administrative, cum ar fi instalarea de programe, modificarea fiierelor de configurare ale sistemului sau adugarea de noi utilizatori. Att contul root, ct i o serie de conturi de utilizatori sistem, sunt creai n mod automat la momentul instalrii sistemului. Se recomand crearea unuia sau mai multor utilizatori obinuii pentru utilizarea obinuit a calculatorului, deoarece o comand greit lansat ca root poate cauza deteriorarea
sistemului sau chiar pierderea datelor i aplicaiilor stocate. n vederea asigurrii securitii sistemului, este obligatoriu ca toi utilizatorii s aib parol. Este de dorit ca parolele s aib minim 6 caractere i s nu fie constituite din cuvinte uor de ghicit, cum ar fi cuvinte de dicionar sau elemente importante pentru utilizatorul n cauz (numele prietenilor, data naterii etc.). Principiul de baz pentru alegerea parolelor este ca acestea s fie uor de memorat, dar greu de ghicit. De asemenea, utilizatorii trebuie s i schimbe parolele n mod regulat. Procesele din UNIX au dou identiti la un moment dat. Prima identitate este identificatorul de utilizator real, adic cea dat de numele de cont de la conectarea utilizatorului. Uneori, pentru execuia anumitor programe sau comenzi, utilizatorii trebuie s primeasc provizoriu identitatea altui utilizator; acesta este identificatorul de utilizator efectiv, valabil doar pe durata execuiei respectivului program. Acest transfer de identitate este acceptat de proprietarul programului, prin setarea bitului Set UID (SUID) din drepturile de acces ale fiierului executabil. Comanda su (Substitute User) permite schimbarea identitii unui utilizator. Dac noul nume de cont furnizat este protejat prin parol, utilizatorul trebuie s o furnizeze; dac utilizatorul real este root, nu este necesar furnizarea parolei. 2.5.3. Utilitare pentru administrarea utilizatorilor Administrarea utilizatorilor se poate face cu ajutorul urmtoarelor utilitare: adugarea de utilizatori: useradd nume
Modificarea parolei utilizatorului curent se va face cu ajutorul programului userpasswd sau passwd. Este solicitat parola actual i de dou ori parola nou (a doua oar pentru confirmare): Alte comenzi referitoare la utilizatori: whoami - furnizeaz numele utilizatorului efectiv curent
w - comand nrudit cu who, afieaz sesiunile deschise i, pentru fiecare sesiune n parte, ultima comand executat
id - ofer informaii privitoare la identitatea real a unui utilizator: finger [ nume ] - afieaz utilizatorii conectai curent la sistem. Dac este specificat un nume de utilizator, vor fi afiate diferite informaii despre respectivul utilizator, cum ar fi numele acestuia i ultima intrare n sistem
last [ nume ] - afieaz ultimele intrri ale utilizatorilor n sistem, n ordine descresctoare a datei. Dac este specificat un nume de utilizator, jurnalul afiat se va referi la intrri ale utilizatorului respectiv.
aprea i erori: Pachetul este deja instalat package doc++-3.4.9-1 is already installed Dac se dorete oricum instalarea pachetului (de exemplu, dac au fost terse de pe disc fiiere coninute n pachet i se intenioneaz restaurarea acestuia), pentru ca RPM s ignore eroarea, se folosete parametrul --replacepkgs. Fiiere care intr n conflict /usr/bin/docify conflicts with file from doc++-3.4.8-2 Pachetul conine un fiier care este deja instalat dintr-un alt pachet sau dintr-o versiune mai veche a pachetului. Dac se dorete totui instalarea pachetului, trebuie folosit parametrul replacefiles. Dependene nerezolvate Pentru a funciona corect, pachetul are nevoie ca alt pachet s fie instalat mai nti. failed dependencies: flex is needed by doc++-3.4.9-1 Pachetele necesare trebuie instalate pentru a rezolva dependenele. Dac totui se dorete instalarea pachetului (care, astfel, se poate s nu funcioneze corect), se utilizeaz parametrul --nodeps.
Pachetul existent n sistem va fi mai nti dezinstalat, apoi noul pachet va fi instalat, n mod automat. Deoarece RPM realizeaz un upgrade "inteligent" al pachetelor coninnd fiiere de configurare, poate fi afiat un mesaj de genul: saving /etc/doc++.conf as /etc/doc++.conf.rpmsave Acest mesaj nseamn c este posibil ca vechiul fiier de configurare s nu fie complet compatibil cu noul fiier de configurare. Vor trebui analizate manual diferenele dintre cele dou fiiere i rezolvate. Dac pachetul este mai vechi dect cel instalat, va fi generat o eroare: package doc++-3.4.9-1 (which is newer) is already installed Pentru a face totui upgradarea, se utilizeaz parametrul oldpackage.
3.5.
Pentru afiarea versiunii i numrului lansrii pachetului instalat doc++: (infoiasi)# rpm -q doc++ doc++-3.4.9-1 Opiuni care pot fi utilizate mpreun cu -q: -a afieaz toate pachetele instalate -f f i i e r afieaz pachetul care conine fiierul specificat -i afieaz toate informaiile despre pachet: numele, descrierea, versiunea, numrul lansrii, mrimea, data mpachetrii, data instalrii, numele celui care l-a generat -l afieaz lista fiierelor coninute de pachet provides afieaz "capabilitile" pe care le ofer pachetul (e.g. biblioteci, fiiere- antet etc.) requires afieaz "capabilitile" de care depinde pachetul (e.g. biblioteci, fiiere- antet etc.) Mai multe detalii se pot obine folosind comanda man rpm.
Pentru a verifica toate pachetele instalate vom apela: # rpm -Va Pentru a verifica un pachet comparativ cu un fiier RPM: # rpm -Vp doc++3.4.9-1.i386.rpm Dac exist diferene, va fi afiat un ir de format din opt caractere i numele fiierului. Fiecare caracter reprezint rezultatul comparaiei unui atribut. Un punct (".") nseamn c testul a fost trecut cu succes. Sunt posibile urmtoarele atribute:
mrimea fiierului;
utilizatorul;
grupul;
Exist i posibilitatea de a verifica semtura unui pachet pentru a-i certifica integritatea i originea: # rpm checksig doc++3.4.9-1.i386.rpm
4.1.2. Planificarea partiionrii discului Dup cum spuneam i mai sus, spaiul pe disc ocupat de sistemul Linux trebuie s fie separat de spaiul ocupat de alte sisteme de operare instalate n sistem. Cel puin dou partiii (o partiie principal, /, i swap) sunt necesare pentru instalarea sistemului. Recomandm crearea cel puin a urmtoarelor partiii: o partiie de swap, pentru a crea memorie virtual (informaiile sunt scrise n memoria virtual atunci cnd nu exist memorie fizic disponibil). Partiia de swap trebuie s fie de cel puin 32 MB i cel mult 2 GB, valoarea ideal fiind valoarea memoriei RAM existente n sistem, pentru un calculator ce urmeaz a fi utilizat ca staie de lucru, i dublul acesteia pentru un server; o partiie /boot care va conine nucleul Linux i celelalte fiiere utilizate n timpul bootrii. Dimensiunea ideal a acestei partiii este de 16-32 MB; partiia de root, acolo unde se va afla /, directorul-rdcin al sistemului, i care va conine toate fiierele din sistem.
n cazul n care calculatorul va fi server Linux, recomandm crearea a trei partiii suplimentare: o partiie /usr, care va conine fiierele sistemului de operare, de mrime cel puin egal cu dimensiunea preconizat a instalrii plus circa 100 MB (de exemplu, 1,4 GB); o partiie /var, care va conine fiierele variabile ale sistemului, preferabil de cel puin 256 MB; o partiie /home, care va conine fiierele utilizatorilor, de preferin de cel puin 512 MB.
Pentru a gzdui sistemul Linux pot fi utilizate urmtoarele tipuri de partiii: ext2 - sistemul clasic de fiiere din Linux, compatibil cu standardele UNIX; ext3 - un sistem nou de fiiere, bazat pe ext2, cu suport pentru jurnalizare; reiserfs - un sistem nou de fiiere, cu suport pentru jurnalizare, avnd n multe condiii performane superioare ext2 sau ext3, datorit arhitecturii interne arborescente.
Recomandm utilizarea de partiii ext3 n loc de ext2 deoarece suportul pentru jurnalizare permite n primul rnd siguran mult mai mare a informaiilor n cazul incidentelor nedorite (probleme hardware sau ntreruperi ale tensiunii de alimentare) i n al doilea rnd reduce semnificativ timpul de restaurare dup o cdere a sistemului fsck). Pot fi utilizate de asemenea i partiiile de tip reiserfs, care prezint, pe lng avantajele enumerate mai sus, o vitez superioar de acces n multe situaii.
dac placa video instalat n sistem are performane slabe), se tasteaz comanda: boot: text pentru a porni programul de instalare n mod text. Mai multe detalii privitoare la modurile de instalare pot fi furnizate de ctre program, apsnd tasta F2. Acionnd F5 avem posibilitatea s iniiem o procedur de refacere (rescue), util n cazurile n care o instalare anterioar a euat din diverse motive sau pentru a reinstala ncrctorul de boot. Vom prezenta n continuare etapele de instalare a sistemului: 1. Selectarea limbii Se selecteaz limba care va fi utilizat att n timpul instalrii, ct i i implicit dup instalare. Selecia fcut aici va influena i fusul orar folosit de sistem (time zone), a crui configurare poate fi fcut ceva mai trziu. Sunt disponibile o multitudine de alte limbi, printre care i limba romn. 2. Configurarea tastaturii Se selecteaz: modelul de tastatur (101 taste, Microsoft Natural Keyboard etc.). Poate fi utilizat modelul Generic, dac nici una dintre opiunile din list nu se potrivete cu tastatura n cauz; schema tastaturii (U.S. English, German etc.).
3. Configurarea mouse-ului Se selecteaz: tipul mouse-ului (Generic, Mouse Systems etc.); dac este un mouse serial, portul la care este conectat; n cazul n care mouse-ul folosit are dou butoane, dac se dorete emularea de trei butoane prin apsarea celor dou.
4. Opiunile de instalare Se stabilete dac se efectueaz o instalare complet sau un upgrade - o actualizare (instalarea unei versiuni mai noi a distribuiei peste una deja existent). n cazul instalrii complete, se stabilete tipul instalrii: Personal Desktop, Workstation, Server sau Custom. Acest tip determin pachetele care vor fi propuse pentru instalare: Personal Desktop (sistem personal). Acest tip de instalare este ideal pentru utilizatorii noi de Linux. Se folosete atunci cnd sistemul se afl acas sau la serviciu, sau pentru calculatoare portabile. Include programe de tip office (redactare de texte, calcul tabelar, realizare de prezentri etc.), utilitare pentru acces la Internet (navigare, citire a corespondenei etc.), programe multimedia etc. Necesit minim 1,5 GB spaiu disponibil pe hard-disk.
Workstation (staie de lucru). Este asemntoare cu Personal Desktop, incluznd n plus instrumente pentru dezvoltarea de programe i administrare de sistem. Server. Acest tip de instalare cuprinde programe care ofer servicii Internet (Web, FTP, pot electronic etc.), precum i alte servicii de reea (NFS, SMB etc.). Necesit minim 1 GB spaiu disponibil. Custom (personalizat). Instalarea de tip Custom este potrivit utilizatorilor obinuii cu sistemul Linux i ofer cea mai mare flexibilitate posibil. Necesit minim 350 MB spaiu disponibil pentru o instalare minimal i minim 3,5 GB dac sunt selectate toate pachetele.
5. Partiionarea discului Exist trei opiuni de partiionare: partiionare automat: programul de instalare va genera automat partiiile n funcie de tipul de instalare ales. Partiiile rezultate pot fi modificate apoi n funcie de necesiti; partiionare manual cu ajutorul programului Disk Druid, un program dotat cu o interfa grafic simpl, dar puternic, uor de folosit; partiionare manual cu ajutorul programului clasic fdisk (disponibil numai n cazul instalrilor n mod text), care are o interfa tip linie de comand, n mod text.
Partiionarea automat Programul de partiionare automat ofer utilizatorului posibilitatea de a controla modul de tratare a partiiilor deja existente pe disc, prin intermediul a trei opiuni: tergerea partiiilor Linux existente; tergerea tuturor partiiilor existente (atenie: se pierd toate datele de pe hard-disk- urile existente!); pstrarea partiiilor existente i utilizarea spaiului liber. Din lista de discuri fixe aflate n sistem trebuie selectate discurile pe care va fi efectuat instalarea. Dac opiunea Review este activat, instalarea va continua cu programul Disk Druid, permind modificarea partiiilor create automat.
Fiecare disc fix din sistem poate fi editat separat. Aciunile se efectueaz prin intermediul a cinci butoane: New - pentru crearea unei noi partiii. Dialogul care apare conine urmtoarele cmpuri: o Mount Point - directorul n care va fi montat coninutul noii partiii (de exemplu, partiia de root, /; pentru partiia alocat utilizatorilor, directorul poate fi /home); o Filesystem Type - tipul partiiei (de exemplu, ext2 sau ext3 pentru o partiie Linux); o Size - dimensiunea partiiei n Megabytes; o Additional Size Options - dac partiia va avea dimensiunea fix menionat n cmpul precedent, dac se dorete ca partiia s umple tot spaiul liber mai puin o dimensiune menionat sau dac se dorete ca partiia s umple tot spaiul disponibil; o Force to be a primary partition - dac se dorete ca partiia s fie primar; o Check for bad blocks - dac se dorete verificarea existenei de sectoare defecte pe respectiva partiie;
Edit - pentru editarea proprietilor unei partiii deja create; Delete - pentru tergerea unei partiii deja create; Reset - pentru renunarea la modificrile fcute asupra partiiilor; RAID - pentru crearea de partiii RAID (Redundant Array of Independent Disk), tehnic prin care mai multe partiii/discuri sunt tratate ca fiind un spaiu de stocare (disc) unic sau cuprinznd aceleai date stocate n paralel pe mai multe discuri, n vederea creterii capacitii de memorare i a siguranei datelor, respectiv.
Partiionarea discului folosind programul fdisk Comenzile uzuale sunt: a - seteaz respectiv anuleaz opiunea de bootare a sistemului de pe acea partiie (avertizm c doar o singur partiie trebuie s aib setat aceast opiune; n caz contrar, este impredictibil partiia de pe care va porni sistemul) d - terge o partiie l - listeaz tipurile de partiii cunoscute m - afieaz toate comenzile fdisk n - adaug o nou partiie p - afieaz tabela de partiii q - prsete fdisk fr a salva modificrile fcute t - modific tipul unei partiii w - scrie tabela de partiii pe disc i prsete fdisk Iat un
exemplu de utilizare a comenzii n: Command (m for help): n First cylinder (2837-3649, default 2837): Using default value 2837 Last cylinder or +size or +sizeM or +sizeK (2837-3649, default 3649): Using default value 3649 Dup cum se observ, este solicitat numrul cilindrului de la care va ncepe partiia, precum i numrul cilindrului la care se va sfri partiia. n locul acestuia din urm poate fi specificat ncepnd cu "+" mrimea partiiei n octei, sau n kilo-octei adugnd caracterul "K", sau n mega-octei adugnd "M" (de exemplu, +500M desemneaz o partiie de 500 megabytes).
Prezentm i un exemplu de lansare a comenzii p: Command (m for help): p Disk /dev/hda: 255 heads, 63 sectors, 3649 cylinders Units = cylinders of 16065 * 512 bytes Device /dev/hda1 /dev/hda2 /dev/hda3 /dev/hda4 /dev/hda5 /dev/hda6 /dev/hda7 /dev/hda8 /dev/hda9 /dev/hda10 /dev/hda11 Boot * Start 1 524 1047 1570 1570 1832 1896 1913 2044 2053 2837 End 523 1046 1569 3649 1831 1895 1912 2043 2052 2836 3649 Blocks 4200966 4200997+ 4200997+ 16707600 2104483+ 514048+ 136521 1052226 72261 6297448+ 6530391 Id 83 83 c f 83 83 82 83 82 b 83 System Linux Linux Win95 Win95 Linux Linux Linux Linux Linux Win95 Linux
Un exemplu de apel al comenzii d: Command (m for help): d Partition number (1-11): 11 Dup cum se observ, nu este solicitat confirmarea aciunii de tergere a partiiei! Utilizarea comenzii t: Command (m for help): t Partition number (1-11): 6 Hex code (type L to list codes): 83 Dac se folosete acest program, dup definirea partiiilor recomandm verificarea existenei a cel puin dou partiii, iar acestea s aib tipul corect, i anume 82 pentru Linux i 83 pentru partiia de swap. n final, dup operaiunile de stabilire a partiiilor, se folosete comanda "w" pentru a scrie efectiv datele pe disc. 6. Instalarea ncrctorului de boot Pentru a putea porni sistemul Linux, este nevoie de un ncrctor de boot (boot loader). De asemenea, acest ncrctor poate porni i alte sisteme de operare care sunt instalate pe disc. Sunt disponibile trei opiuni: programul GRUB (GRand Unified Boot loader), pe care l recomandm datorit facilitilor oferite i performanelor sale superioare; programul clasic LILO (LInux LOader); nici un ncctor de boot, caz n care utilizatorul trebuie s se asigure c poate porni sistemul Linux ntr-un alt mod (de exemplu, cu o dischet de boot).
ncrctorul de boot poate fi instalat n: MBR (Master Boot Record), sectorul de boot care este ncrcat automat de BIOS-ul calculatorului este opiunea recomandat (exceptnd situaia n care pe disc este instalat i sistemul de operare OS/2); primul sector al partiiei de root
De asemenea, n aceast etap pot fi stabilite i celelalte sisteme de operare care vor fi pornite de ncrctorul de boot. 7. Parola de pornire Dac a fost instalat un ncrctor de boot, poate fi definit o parol pentru a proteja sistemul. Aceasta va fi solicitat utilizatorului la pornire, dac ncearc s apeleze nucleul folosind parametri. Parola de pornire ofer protecie fa de atacurile de la consol. 8. Configurarea legturii de reea Dac instalarea a fost pornit cu suport pentru reea, fiecrei plci de reea aflate n calculator trebuie s i fie asociai urmtorii parametri: dac configurarea adresei IP se face prin DHCP (Dynamic Host Configuration Procol); dac interfaa de reea va fi activat la pornire; adresa IP; masca de reea; adresa de reea; adresa de broadcast; numele mainii; adresa gateway-ului;
adresa DNS-ului (Domain Name Server) primar, secundar i ternar. 9. Configurarea firewall-ului Programul de instalare poate configura automat firewall-ul, n funcie de nivelul de securitate ales. Exist trei niveluri de securitate: nalt (High), caz n care sistemul nu va accepta alte tipuri de conexiuni dect cele definite. Implicit, vor fi acceptate doar urmtoarele tipuri de conexiuni:
o cereri DNS (Domain Name System) - folosite pentru a obine adresele IP ale numelor simbolice de main;
o DHCP (Dynamic Host Configuration Protocol) - protocol utilizat pentru alocarea dinamic a adreselor IP. Dac sistemul este conectat la Internet, ns nu ofer servicii ctre exterior, aceasta este cea mai sigur opiune; Mediu (Medium), caz n care sistemul nu va accepta dect anumite tipuri de conexiuni. Implicit, urmtoarele tipuri de conexiuni nu vor fi permise: o pe porturi mai mici dect 1023 - porturile standard rezervate, utilizate de majoritatea serviciilor Internet, cum ar fi FTP, SSH, telnet, HTTP etc.; o serverul NFS - utilizat pentru accesarea sistemelor de fiiere n reea; o sistemul de ferestre X Window; o serverul xfs - folosit pentru gestionarea fonturilor n mediul X Window; Fr firewall (No firewall) - nu se impune nici o restricie asupra naturii comunicaiilor dintre calculator i alte computere din Internet.
Alegnd opiunea Customize, pot fi adugate dispozitive considerate sigure sau poate fi acordat accesul la servicii adiionale. Selectnd oricare dintre dispozitive, va fi permis accesul prin dispozitivele respective ctre sistem - cu alte cuvinte, pachetele sosite prin respectivul dispozitiv vor fi excluse din regulile stabilite de firewall. Spre exemplu, poate fi permis accesul fr restricii n cadrul reelei locale, prin placa de reea eth0, iar conexiunea dial-up la Internet, ppp0, s fie supus filtrrii. Dintre serviciile din cadrul Allow Incoming pot fi selectate acelea la care va fi permis accesul: DHCP - serviciul pentru obinerea automat a adresei IP; SSH - serviciul pentru conectarea i execuia de comenzi pe o main aflat la distan, utiliznd un protocol sigur pentru criptarea datelor; telnet - serviciul pentru conectarea la o main aflat la distan, fr criptare i cu securitate redus; WWW (HTTP - HyperText Transfer Protocol) - serviciul pentru accesarea paginilor Web; Mail (SMTP - Simple Mail Transfer Protocol) - serviciul pentru expedierea de mesaje de e-mail; FTP (File Transfer Protocol) - serviciul de transfer de fiiere; alte porturi, pentru a permite i accesul la alte servicii, sub forma port:protocol - de exemplu, pop3:tcp sau 666 7:udp.
10. Selectarea limbii Se selecteaz limba implicit, ct i celelalte limbi care vor fi instalate.
11. Configurarea timpului Se selecteaz fusul orar n care se afl sistemul. 12. Configurarea utilizatorilor Utilizatorul root posed drepturi totale asupra sistemului. Acest utilizator trebuie folosit n mod normal doar pentru a instala/dezinstala pachete de aplicaii i pentru administrarea sistemului. Se recomand crearea unuia sau mai multor utilizatori obinuii pentru utilizarea calculatorului, chiar dac acesta este folosit acas, deoarece o comand greit tastat ca root poate cauza deteriorarea sistemului sau chiar pierderea total a datelor i aplicaiilor stocate. Este obligatorie stabilirea unei parole pentru utilizatorul root. Parola trebuie s aib minim ase caractere lungime i nu poate conine cuvinte aflate n dicionar. n cadrul acestei etape pot fi creai i utilizatorii sistemului, pentru fiecare trebuind introduse numele (compuse din caractere, eventual i numere) i parolele. 13. Configurarea autentificrii n sistem n cazul n care maina va fi legat n reea, este important ca accesul la sistem s fie posibil pe baza unui sistem de autentificare sigur. Sunt disponibile urmtoarele opiuni: Activarea/dezactivarea sistemului MD5, care permite utilizarea de parole de pn la 256 de caractere lungime, n loc de lungimea standard de maxim 8 caractere. Implicit, aceast opiune este activat. Activarea/dezactivarea sistemului shadow, care ofer o metod sigur de memorare a parolelor. Parolele sunt memorate n fiierul /etc/shadow, care nu poate fi accesat de ctre utilizatorii obinuii. Implicit, aceast opiune este activat.
14. Selectarea pachetelor Pot fi selectate grupurile de pachete (aplicaii) care se doresc a fi instalate. Dac se dorete i selectarea individual a pachetelor din cadrul grupurilor, trebuie selectat opiunea Customize software packages to be installed. n orice moment se poate consulta spaiul ocupat pe disc al pachetelor instalate. Fiecare grup de pachete poate fi selectat pentru a fi instalat, sistemul propunnd n mod automat un numr de pachete din respectivul grup. Prin apsarea pe butonul Details, poate fi selectat individual fiecare pachet n parte. Prezentarea tuturor pachetelor incluse ntr-o distribuie Linux (oricare ar fi aceea) nu este posibil, datorit numrului uria al acestora (practic, de ordinul sutelor). Ne vom rezuma la grupurile de pachete incluse: Desktops (medii grafice): X Window System (sistemul grafic X Window), GNOME Desktop Environment (mediul desktop GNOME) i KDE Desktop Environment (mediul desktop KDE). Applications (aplicaii): Editors (editoare de text), Engineering and Scientific (aplicaii inginereti i pentru calcule tiinifice), Graphical Internet (programe dedicate accesrii Internet-ului, n mod grafic X Window), Text-based Internet (programe pentru acces la serviciile Internet, n mod text), Office/ Productivity (programe destinate lucrului la birou), Graphics (prelucrarea de imagini) i Games and
Entertainment (jocuri). Servers (servere): Server Configuration Tools (programe de configurare i administrare), Web Server (serverul Web Apache), Mail Server (server de pot electronic), Windows File Server (server de fiiere Samba), DNS Name Server (serverul pentru rezolvarea numelor de domenii BIND), FTP Server (server FTP), SQL Database Server (serverele de baze de date MySQL i PostgreSQL), News Server (server de tiri), Network Servers (alte servere de reea). Development (instrumente de dezvoltare soft): Development Tools (instrumente utile pentru dezvoltarea de programe), Kernel Development (programe necesare pentru compilarea nucleului), GNOME Software Development (pentru dezvoltarea de programe care utilizeaz bibliotecile GNOME), KDE Software Development (pentru dezvoltarea de programe care utilizeaz bibliotecile KDE). System (programe de sistem): Administration Tools (instrumente pentru administrarea sistemului), System Tools (diverse programe pentru configurarea sistemului) i Printing Support (suport pentru tiprirea la imprimant). Miscellaneous (diverse): Minimal (nu este propriu-zis un grup de pachete, ci stabilete c se efectueaz o instalare a unui numr minim de pachete, strict necesare pentru funcionarea sistemului) i Everything (selecteaz toate pachetele pentru instalare).
Dup selectarea pachetelor, programul de instalare verific dependenele dintre pachete (anumite aplicaii necesit i alte programe pentru a funciona corect) i afieaz pachetele care vor fi instalate automat pentru a satisface aceste dependene. Utilizatorul va putea opta ntre a le instala sau a renuna la pachetele selectate iniial (cele care au generat aceste dependene). 15. Configurarea plcii video n general, programul de instalare poate determina singur tipul plcii video din sistem. n cazul n care aceast detectare a euat, din lista de plci video cunoscute poate fi aleas placa n cauz. n cazul n care nici acest lucru nu este posibil, trebuie consultat situl Web al productorului acelei plci. De asemenea, poate fi specificat dimensiunea memoriei video (e.g., 16 MB, 32 MB etc.). 16. Instalarea pachetelor Durata instalrii pachetelor depinde att de numrul de pachete selectate pentru instalare, ct i de performanele calculatorului. n timpul instalrii sunt afiate informaii despre pachetul n curs de instalare, precum i despre evoluia instalrii. De asemenea, sistemul va solicita introducerea CD-urilor din care este alctuit distribuia. Dac unul dintre CD-uri lipsete sau este defect, atunci de cele mai multe ori instalarea eueaz, sistemul fiind doar parial copiat. Procesul de instalare a pachetelor creeaz un jurnal cu aciunile ntreprinse, n fiierul / root/install.log.
17. Crearea unei dischete de boot Este recomandat crearea unei dischete de boot, util n cazul n care ar putea aprea probleme la pornirea sistemului Linux. Se utilizeaz o dischet goal, care nu trebuie s fie defect. Aceast dischet nu va fi formatat FAT (n sistem MS-DOS) i deci nu va putea fi utilizat n alt sistem de operare dect dup o formatare prealabil. 18. Configurarea sistemului de ferestre X Window Aceast aciune implic urmtoarele: Configurarea monitorului Programul de instalare va ncerca s determine tipul monitorului. Dac detectarea eueaz, trebuie selectat monitorul din lista de tipuri cunoscute. Sistemul va testa configuraia aleas. n cazul n care testul nu se ncheie n cteva secunde, acesta poate fi ntrerupt utiliznd combinaia de taste Ctri+Ait+Backspace (ieire forat). Personalizarea sistemului X Window Se selecteaz adncimea culorii (de exemplu High Color -16 bit, True Color - 32 bit etc.), rezoluia ecranului (spre exemplu, 800x600, 1024x768 etc.), mediul desktop (KDE sau GNOME) i dac sistemul va porni direct n mod grafic sau n mod consol (text). Ulterior, aceste setri vor putea fi modificate. 19. Instalarea este ncheiat Programul de instalare va cere confirmarea pentru repomirea sistemului. nainte de aceasta, eventuala dischet aflat n unitatea floppy trebuie scoas, CD-ul din unitatea CD-ROM fiind automat ejectat.
unde opiuni pot fi: -r monteaz sistemul de fiiere n mod read-only (numai citire); -t specific tipul sistemului de fiiere (vezi tabelul 1.3); -o specific diferite opiuni de montare (vezi tabelul 1.4); -w monteaz sistemul de fiiere n mod scriere. Comanda mount fr argumente va afia sistemele de fiiere montate. Directorul punct_de_montare trebuie s existe, altfel va fi semnalat eroare. De exemplu, pentru a monta discul CD-ROM n /mnt/cdrom: | mount /dev/cdrom /mnt/cdrom Demontarea se face utiliznd comanda umount, avnd urmtoarea sintax: | umount nume_dispozitiv | punct_de_montare Demontarea CD-ROM-ului deja montat: | umount /dev/cdrom n loc de /dev/cdrom se poate introduce /mnt/cdrom. Montarea automat a sistemelor de fiiere
Procesul de montare automat este controlat de fiierul de configurare / etc/fstab. Acesta este structurat pe linii, coninnd ase cmpuri:
Descriere Numele de dispozitiv al partiiei Directorul n care va fi montat dispozitivul Tipul sistemului de fiiere: ext2, swap, vfat, iso9660 etc. Opiuni asupra operaiunii de montare, separate prin virgul. n general, se utilizeaz defaults. Dac este specificat opiunea noauto, sistemul de fiiere nu va fi montat automat la pornire Frecvena cu care sistemul de fiiere va fi salvat Un numr care indic ordinea n care vor fi verificate sistemele de fiiere. Pentru sistemul-rdcin trebuie s aib valoarea 1, iar pentru swap valoarea 0. Sistemele pentru care valoarea acestui cmp este egal vor fi verificate n paralel (recomandat doar dac se afl pe discuri diferite)
Furnizm n continuare un fiier /etc/fstab, de exemplu: # device /dev/hdal /dev/hda2 /dev/hda3 /dev/fd0 /dev/cdrom mount / none /mnt/dos /mnt/floppy /mnt/cdrom type ext2 swap vfat vfat iso9660 options defaults sw defaults noauto noauto dump fsck l
Sistemele de fiiere specificate n /etc/fstab sunt montate automat la pornirea sistemului (exceptnd cele avnd opiunea noauto) i demontate automat la oprirea sistemului. De asemenea, pentru sistemele specificate n acest fiier de configurare, la apelul comenzii mount trebuie specificat fie numele dispozitivului, fie punctul de montare, nu neaprat amndou. Numele de dispozitive
Tabelul 1.1. Nume de dispozitive uzuale Numele dispozitivului Tipul dispozitivului
Primul controler IDE, unitatea conectat ca master Primul controler IDE, unitatea conectat ca slave Al doilea controler IDE, unitatea conectat ca master Al doilea controler IDE, unitatea conectat ca slave Primul disc SCSI Al doilea disc SCSI Prima unitate CD-ROM SCSI A doua unitate CD-ROM SCSI
/dev/fdO /dev/fdl
Pentru discuri fixe, numele dispozitivului trebuie urmat de numrul partiiei, de exemplu /dev/hdai pentru prima partiie de pe discul /dev/hda. Linux permite, de asemenea, montarea doar unei sesiuni a unui disc CD-ROM, adugnd numrul sesiunii la numele dispozitivului (e.g. /dev/hdc2), cu meniunea c numerotarea ncepe de la zero. Tipuri de sisteme de fiiere
Tabelul 1.2. Tipuri de sisteme de fiiere uzuale Tipul sistemului Descriere Sistemul clasic de fiiere Linux Noul sistem de fiiere Linux, bazat pe ext2, cu suport pentru jurnalizare Noul sistem de fiiere reiserfs, cu suport pentru jurnalizare, cu performane mai bune dect ext2 n anumite situaii Partiia pentru memorie virtual Sistem de fiiere Windows, cu suport pentru nume lungi de fiiere Sistemul de fiiere utilizat de Windows NT/2000/XP Sistemul clasic MS-DOS Sistemul de fiiere pentru discuri CD-ROM Sistem de fiiere NFS, aflat la distan Resurs Samba
ext2 ext3 reiserfs swap vfat ntfs msdos iso9660 nfs smbf s
Recomandm utilizarea de partiii ext3 n loc de ext2, deoarece suportul pentru jurnalizare permite n primul rnd siguran mult mai mare a informaiilor n cazul incidentelor nedorite (probleme hardware sau ntreruperi ale tensiunii de alimentare) i n al doilea rnd reduce semnificativ timpul de verificare a partiiilor fsck). Pot fi utilizate de asemenea i partiiile de tip reiserfs, care prezint, pe lng avantajele enumerate mai sus, o vitez superioar de acces n multe situaii. Opiuni de montare
Tabelul 1.3. Opiuni de montare a sistemelor de fiiere Numele opiunii Descriere Opiunea uzual de montare defaults Nu este permis scrierea (read-only) ro Este permis scrierea (read-write) rw Nu este permis modul SUID nosuid Sistemul de fiiere nu va fi montat automat la pornire noauto Remonteaz sistemul de fiiere (utilizat n general pentru remount modificarea opiunilor de montare) Permite utilizatorilor obinuii s monteze sistemul de fiiere user
Oprirea forat a sistemului sau cderile de tensiune pot cauza defectarea sistemelor de fiiere montate (aceste evenimente nedorite pot fi prentmpinate prin utilizarea unui sistem de fiiere jurnalizat, cum ar fi ext3 sau reiserfs). Verificarea i repararea sistemelor de fiiere se realizeaz cu ajutorul utilitarului fsck. Acest utilitar este apelat automat la pornirea sistemului pentru fiecare sistem de fiiere specificat n /etc/fstab (evident, fr opiunea noauto) i care nu a fost demontat corect. Exceptnd sistemul- rdcin, fsck poate rula doar pentru sisteme de fiiere nemontate. Pentru a rula fsck pe sistemul-rdcin, sistemul trebuie adus n mod single-user (prin pornirea nucleului cu opiunea single - pentru detalii, vezi cap. 3). Programul fsck are urmtoarea sintax: | fsck [ opiuni ] nume_dispozitiv Opiunile uzuale sunt: -p repar automat toate erorile aprute, dac aceasta nu modific coninutul nici unui fiier; -n rspunde nu la toate ntrebrile; afieaz dar nu repar nici o eroare aprut; -y rspunde da la toate ntrebrile; repar orice eroare aprut, indiferent de urmri; -f verific sistemul chiar dac nu prezint probleme. De exemplu, verificarea partiiei /dev/hda2 care nu a fost demontat corect la oprirea sistemului se va face prin comanda: | fsck -y /dev/hda2 Pe partiiile ext2 sau ext3 poate fi remarcat directorul lost+found. Acesta este utilizat pentru depozitarea fiierelor recuperate de fsck de pe respectiva partiie, atunci cnd aceasta a fost deteriorat. Acest director nu trebuie n nici un caz ters, el fiind gestionat n mod automat de ctre sistem.
- monteaz sistemele de fiiere locale (aflate pe discurile din sistem); - iniializeaz memoria virtual. 2. Citete configurrile din fiierul /etc/inittab. Acest fiier conine intrri care definesc aciunile sistemului atunci cnd acesta intr n fiecare nivel de execuie i stabilete nivelul implicit. De asemenea, execut scripturile din nivelul implicit de execuie, /etc/rc.d/rc n, unde N este nivelul de execuie. 3. Execut scriptul /etc/rc.d/rc.local, care efectueaz iniializri locale. Standardul UNIX System V definete o serie de stri ale sistemului, denumite niveluri de execuie (run levels). La un moment dat, sistemul se gsete n una din aceste stri i poate fi trecut ntr-o alt stare utiliznd anumite comenzi administrative. Urmtorul tabel prezint nivelurile de execuie uzuale:
Nivelul de execuie 0 1 Descriere Starea de oprire (halt): starea n care sistemul poate fi oprit n siguran. Starea de reparare a sistemului (single-user): n aceast stare nu este montat dect partiia rdcin, reeaua nu este activat iar serviciile nu sunt pornite. Se utilizeaz atunci cnd apar defeciuni n sistem, de exemplu defeciunea unei partiii. Starea normal a sistemului, fr NFS (mult-user without NFS). Starea normal a sistemului (multiuser). Neutilizat. Starea normal a sistemului, cu login X Window. Starea de repornire (reboot).
2 3 4 5 6
De asemenea, System V definete cteva niveluri de execuie adiionale, desemnate prin litere ale alfabetului. Acestea nu reprezint stri distincte ale sistemului, ci folosesc pentru a comunica programului init s execute anumite operaiuni. De exemplu, nivelul q comunic init s reciteasc fiierul de configurare.
5.2.2. Modul de execuie single Nivelul de execuie single se folosete pentru activiti administrative. Pentru a iniializa nivelul singleuser, init execut interpretorul de comenzi, sub utilizatorul root. n acest mod, serviciile normale ale sistemului nu sunt disponibile, nefiind posibil execuia daemonilor sau altor programe n fundal. Sistemul poate fi pornit n mod single furniznd nucleului Linux opiunea single, apelnd, de exemplu, la promptul LILO, comanda: | LILO: linux single Este posibil ca sistemul s porneasc automat n mod single, atunci cnd n cadrul procesului de pornire apar probleme care nu pot fi rezolvate automat, spre exemplu atunci cnd fsck detecteaz erori ce nu pot fi reparate n mod implicit. n aceste cazuri, administratorul sistemului trebuie s rezolve problema. O dat rezolvat, pornirea poate continua terminnd execuia shell-ului de comenzi, apelnd
comanda exit sau logout. 5.2.3. Pornirea, repornirea i oprirea serviciilor Operaiile de pornire, repornire, oprire sau verificare a unui serviciu pot fi realizate apelnd scriptul respectiv, i anume /etc/rc.d/init.d/nume_serviciu sau /etc/ init.d/nume_serviciu, trimind ca parametru:
start - pentru a porni serviciul; stop - pentru a opri serviciul; restart - pentru a reporni serviciul; status - pentru a verifica dac serviciul este activ.
Spre exemplu, comanda: | /etc/rc.d/init.d/syslog restart va reporni serviciul syslog. De asemenea, poate fi utilizat i comanda: | service nume_serviciu aciune unde aciune poate lua una dintre valorile descrise mai sus. Astfel, comanda service postgresqi status va afia starea serviciului postgresql (dac este sau nu activ). 5.2.4. Configurarea serviciilor sistemului Serviciile pe care le ofer sistemul pot fi activate/dezactivate cu ajutorul programului chkconfig. Comanda chkconfig list listeaz toate serviciile existente n sistem i starea acestora (dac sunt activate sau nu). Sintaxa comenzii chkconfig este urmtoarea: chkconfig [ list ] [ add ] [ del ] [ level list_niveluri] nume_serviciu [ aciune ] unde: Ust_niveluri aciune Opiunile fi: pot
afieaz toate serviciile nregistrate, precum i setrile pentru fiecare nivel de execuie n parte. Dac nume_serviciu este specificat, sunt afiate doar informaii referitoare la serviciul specificat; adaug serviciul specificat n lista de servicii nregistrate; terge serviciul specificat din lista de servicii nregistrate.
reprezint lista de niveluri de execuie n care se dorete activarea/dezactivarea serviciului; poate fi on sau off, pentru activarea/dezactivarea serviciului.
--list
--add --del
De exemplu, comanda chkconfig level 345 postgresql on seteaz serviciul postgresql s porneasc atunci cnd nivelul de execuie devine 3, 4 sau 5. Comanda chkconfig postgresql off dezactiveaz pornirea serviciului. Prezentm mai jos un exemplu de apelare a comenzii chkconfig --list : syslog 0 off 1 off 2 on 3 on 4 on 5 on 6 off netfs 0 off 1 off 2 off 3 on 4 on 5 on 6 off network 0 off 1 off 2 on 3 on 4 on 5 on 6 off random 0 off 1 off 2 on 3 on 4 on 5 on 6 off xinetd 0 off 1 off 2 off 3 on 4 on 5 on 6 off portmap 0 off 1 off 2 off 3 off 4 off 5 off 6 off m gp 0 off 1 off 2 on 3 on 4 on 5 on 6 off keytable 0 off 1 on 2 on 3 on 4 on 5 on 6 off smb 0 off 1 off 2 off 3 off 4 off 5 off 6 off sshd 0 off 1 off 2 on 3 on 4 on 5 on 6 off sendmail 0 off 1 off 2 on 3 on 4 on 5 on 6 off iptables 0 off 1 off 2 on 3 on 4 on 5 on 6 off nfs 0 off 1 off 2 off 3 off 4 off 5 off 6 off nfslock 0 off 1 off 2 off 3 off 4 off 5 off 6 off crond 0 off 1 off 2 on 3 on 4 on 5 on 6 off xfs 0 off 1 off 2 on 3 on 4 on 5 on 6 off httpd 0 off 1 off 2 off 3 off 4 off 5 off 6 off cups 0 off 1 off 2 on 3 on 4 on 5 on 6 off xinetd based services: imap: off imaps: off ipop2: off ipop3: off pop3s: off telnetd: off
neconinute n nucleul oficial, care pot fi necesare. Trebuie avut n vedere faptul c nucleele cu numr de versiune impar (e.g. 2.5.x) sunt considerate ca fiind n curs de dezvoltare, fiind de multe ori instabile. Nu se recomand utilizarea acestora dect cu titlu experimental. Pentru a putea compila nucleul este necesar instalarea urmtoarelor pachete: kernel, kernel-doc, kernel-headers, kernel-pcmcia-cs i kernel-source. Nucleul din distribuie se afl n directorul /usr/src/iinux-2.4 sau /usr/src/iinux. Dac se dorete instalarea nucleului oficial, acesta trebuie descrcat de pe situl FTP ftp.kernei.org (sau oglindiri - mirrors), din directorul /pub/iinux/kernei/ versiune (e.g. /pub/iinux/kernei/v2.4/iinux2.4.22.tar.bz2). Dup descrcare, acesta trebuie decomprimat i dezarhivat, utiliznd o comand de genul: | tar -jxf iinux-2.4.22.tar.bz2 Este de preferat localizarea arborelui cu surse n /usr/src/iinux, dar poate fi folosit i orice alt director. Dac se dorete utilizarea unui patch (set de diferene dintre dou fiiere sau structuri de fiiere) pentru nucleu sau utilizarea unei versiuni mai noi de nucleu fr a mai descrca ntreaga arhiv tar, acesta va trebui mai nti decomprimat (dac este cazul): | bzip2 -d patch-2.4.22.bz2 iar apoi aplicat arborelui cu surse al nucleului printr-o comand de genul: | patch -pi < patch-2.4.22 Trebuie avut n vedere faptul c fiecare fiier-patch este generat plecnd de la o anumit versiune de nucleu, prin urmare aplicarea acestuia va fi corect doar pentru respectiva versiune. Majoritatea facilitilor oferite de nucleul Linux (cum ar fi drivere pentru dispozitivele aflate n calculator) pot fi compilate separat de nucleu, ca module. Un modul este o component a nucleului care este ncrcat doar atunci cnd este nevoie de ea (de exemplu, driverul pentru o plac de reea este ncrcat atunci cnd respectiva interfa de reea este activat). De asemenea, modulele care nu sunt utilizate o anumit perioad de timp sunt eliminate automat din memorie. Unul dintre dezavantajele utilizrii modulelor este timpul de ncrcare a acestora. Dac nucleul compilat va fi folosit pe un anumit calculator, este de preferat varianta monolitic. Dac nucleul va fi folosit pe mai multe calculatoare, avnd configuraii hardware diferite, este de preferat varianta modular. Pentru a configura nucleul, se va executa, avnd ca director curent locaia n care au fost instalate sursele acestuia, fie make config, cu care se efectueaz o configurare de tip linie comand, fie make menuconfig, cu care configurarea se face ntr-o interfa utilizator n mod text, sau make xconfig. Configurarea nucleului se realizeaz prin intermediul unui meniu cu structur arborescent, coninnd opiuni. Fiecare dintre opiuni poate avea trei stri posibile: dezactivat (opiunea are valoarea nu sau facilitatea nu va fi inclus n nucleu), activat (*, opiunea va avea valoarea da sau facilitatea va fi inclus n nucleu) sau includere modular (M, care implic compilarea respectivei faciliti ca modul). Ultima stare nu este posibil pentru toate opiunile din meniul de configurare. Dup configurarea nucleului, acesta trebuie compilat prin comanda make bzimage. Modulele se compileaz utiliznd comanda make moduies, iar instalarea acestora n / iib/moduies se face cu make
moduies_instaii. n cazul n care modulele sunt compilate pentru prima oar pentru versiunea curent de nucleu, trebuie apelat comanda depmod -a versiune_nucieu, pentru a genera dependenele dintre module (directorul / iib/moduies/versiune_nucleu). n final, trebuie copiat nucleul generat (arch/i386/boot/bzimage) precum i tabela de simboluri (System.map) peste versiunile vechi (n general n directorul /boot), apoi configurat ncrctorul de boot pentru a porni nucleul nou compilat (vezi infra). Se recomand pstrarea vechiului nucleu i crearea n configuraia ncrctorului de boot a unei imagini care s porneasc sistemul folosind nucleul vechi, pentru a putea asigura pornirea sistemului n cazul n care apar probleme cu nucleul nou. Un ncrctor de boot (boot loader) este un program care pornete imediat dup bootarea sistemului. Acesta afieaz un meniu coninnd mai multe sisteme de operare care pot fi pornite. Utilizatorul poate selecta unul dintre acestea sau poate atepta pornirea sistemului setat implicit. Cel mai adesea este folosit ncrctorul de boot GRUB (GRand Unified Boot loader). Fiierul de configurare GRUB este /etc/grub.conf sau /boot/grub/grub.conf. Acesta conine mai multe opiuni, dintre care cele mai importante sunt: boot = nume_dispozitiv Dispozitivul pe care va fi scris sectorul de boot. default = nr Stabilete sistemul implicit. Numerotarea se face n ordinea apariiei (vezi infra), ncepnd de la 0. timeout = timp Timpul de ateptare (exprimat n secunde) dup care va fi pornit sistemul implicit. splashimage = (disc)fiier Specific o imagine n format XPM care va fi afiat ca fundal. title = titlu Definete un sistem, cu titlul specificat. Poate conine mai multe seciuni: root (disc) Specific partiia de root de pe care va porni sistemul. Partiia are formatul hddisc,partiie, unde disc reprezint numrul discului (numerotarea se face n ordinea deteciei de ctre BIOS, ncepnd cu 0), iar partiie - numrul partiiei (numerotarea se face tot ncepnd cu 0). rootnoverify (disc) Specific partiia de pe care va porni sistemul, atunci cnd acesta este non- UNIX. kernel imagine_nucleu argumente Specific imaginea nucleului care va fi executat, precum i argumentele care vor fi trimise acestuia. chainloader [ start ]+nr_sectoare Pentru un sistem non-UNIX, citete i execut numrul specificat de sectoare, ncepnd cu sectorul start. password [ --md5 ] parol Protejeaz sistemul cu parola de acces specificat, nepermind modificarea argumentelor sau imaginea nucleului. Dac este folosit parametrul --md5, parola este criptat n format MD5 (prin comanda md5crypt). lock
Utilizat n conjuncie cu opiunea password, nu permite pornirea sistemului dect n condiia introducerii parolei. Pentru a instala ncrctorul de boot, trebuie lansat comanda grub-instaii nume_dispozitiv. Prezentm mai jos un fiier grub.conf: defauit=0 timeout=5 spiashimage=(hd0,0)/boot/grub/spiash.xpm.gz titie Red Hat Linux (2.4.21) root (hd0,0) kernei /boot/bzimage ro root=/dev/hda1 titie Windows rootnoverify (hd0,2) chainioader +1 Pentru instalarea ncrctorului de boot conform acestei configuraii, se va executa comanda grub-instaii /dev/hda.
5.4.2. Configurarea echipamentelor de reea Dup ce echipamentul de reea (plac de reea, modem etc.) a fost instalat fizic n sistem i mediul de conectare legat, fie trebuie ncrcat modulul ce conine driverul pentru respectivul echipament, fie trebuie reconfigurat i recompilat nucleul Linux pentru a include driverul n cauz. Denumirile utilizate n Linux pentru dispozitivele de reea uzuale sunt:
n UNIX, echipamentul de reea este denumit interfa de reea. Configurarea interfeei de reea se poate face cu utilitarul ifconfig. Acesta din urm are urmtoarea sintax: | ifconfig interfa [ familie_de_adrese ] opiuni | adres Dac interfa nu este specificat, ifconfig va afia informaii privind starea interfeelor active. Dac nu este specificat nici o opiune, ci doar interfa, ifconfig va afia starea interfeei respective. n celelalte cazuri, va fi configurat interfaa de reea. Familie_de_adrese poate lua una dintre valorile: inet (TCP/IP, valoare implicit), inet6 (IPv6), ax25 (AMPR Packet Radio), ddp (Appletalk Phase 2), ipx (Novell IPX) i netrom (AMPR Packet Radio). Opiunile pot fi:
up
interfaa va fi activat. Este implicit dac este atribuit o adres interfeei. down interfaa va fi dezactivat. netmask adres stabilete masca de reea. irq numr_ntrerupere stabilete ntreruperea utilizat de dispozitiv. io_addr adres stabilete adresa I/O utilizat de dispozitiv. [-] broadcast [ adres ] dac adres este specificat, stabilete adresa de broadcast a interfeei. Dac parametrul nu este specificat, activeaz sau dezactiveaz cmpul de stare iff_broadcast pentru interfa. [-] pointopoint [ adres ] dac adres este specificat, stabilete adresa de IP a mainii cu care se face conexiunea punct-lapunct (cum ar fi PPP) i activeaz acest mod de conexiune. Dac parametrul nu este specificat, activeaz cmpul de stare iff_pointopoint pentru interfa. Adres reprezint adresa IP atribuit interfeei. De exemplu, pentru configurarea i activarea plcii de reea Ethernet eth0, cu adresa 193.226.26.9, vom folosi comanda: ifconfig eth0 193.226.26.9 netmask 255.255.255.0 broadcast 193.226.26.255 up Fiierele de configurare a interfeelor de reea se gsesc n directorul /etc/ sysconfig/network-scripts i poart nume de forma ifcfg-nume_dispozitiv (de exemplu, ifcfg-etho). Pentru detalii, a se vedea seciunea 10.6.
5.4.3. Opiuni de rutare Rutarea este operaiunea de trimitere a pachetelor de date de la o reea la alta. Rurile pot fi: Dac reeaua nu conine subreele, nu este necesar nici o rutare explicit. Rutri statice, folosite pentru reele de dimensiuni mici sau medii, avnd calea origine - destinaie relativ simpl. Rutri dinamice, n care cile spre destinaie sunt determinate la momentul trimiterii pachetelor, prin protocoale de rutare, pentru care se folosesc daemonii routed i gated.
route [ opiuni ] route [ -v ] [ -A familie ] add [ -net | -host ] dest [ opiuni ] route [ -v ] [ -A familie ] dei [ -net | -host ] dest [ opiuni ] Prima variant afieaz tabela de rutare, permind opiunile: -v afieaz informaii suplimentare; -n afieaz adrese numerice n loc de nume. A doua variant permite adugarea de rutri statice. Opiuni: -v afieaz informaii suplimentare; -A familie specific familia de adrese. Vezi supra, la ifconfig, familiile de adrese; -net specific faptul c dest este o reea; -host specific faptul c dest este o main; dest reprezint adresa reelei sau mainii-destinaie, fie numeric, fie prin nume; netmask adres utilizeaz aceast masc atunci cnd se adaug o rutare; default stabilete rutarea implicit, care va fi utilizat atunci cnd nu exist nici o alt rutare ctre destinaie; gw gateway ruteaz pachetele printrun gateway. Calea ctre acesta trebuie s fie definit n prealabil, stabilind n general o rutare static spre el; dev dispozitiv asociaz rutarea cu dispozitivul specificat. n mod normal, specificarea acestui parametru nu este necesar. Cteva exemple: | route add -net 192.130.21.0 netmask 255.255.255.0 dev ethi adaug o rutare ctre reeaua 192.130.21.0 prin placa de reea eth1. | route add defauit gw zeus.biosfarm.ro adaug o rutare implicit (utilizat atunci cnd nu exist o alt rutare) prin maina zeus.biosfarm.ro. 5.4.4. Verificarea funcionrii reelei Prima verificare care trebuie fcut dup configurarea interfeelor de reea i stabilirea rutrilor este dac interfeele de reea sunt activate i au parametrii coreci. Aceasta se face tot cu ajutorul utilitarului ifconfig. Dac se specific drept parametru numele interfeei, se vor afia informaiile de stare referitoare doar la respectiva interfa. Dac nu este introdus nici un parametru, vor fi afiate informaii despre toate interfeele active. Iat un exemplu de execuie a comenzii ifconfig: eth0 Link encap:Ethernet HWaddr 00:E0:29:25:53:41 inet addr:10.0.0.1 Bcast:200.0.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:57497219 errors:0 dropped:0 overruns:0 frame:3 TX packets:53415959 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:4087849514 (3898.4 Mb) TX bytes:422 76 82 795 (4031.8 Mb) Interrupt:11 Base address:0xe400 Lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:146 74 83 errors:0 dropped:0 overruns:0 frame:0 TX packets:146 74 83 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0
RX bytes:437242723 (416.9 Mb) TX bytes:43 72 42 72 3 (416.9 Mb) ppp0 Link encap:Point-to-Point Protocol inet addr:192.130.21.14 P-t-P:192.130.78.14 Mask:255.255. 255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1064 Metric:1 RX packets:16682 errors:0 dropped:0 overruns:0 frame:0 TX packets:16998 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:9140239 (8.7 Mb) TX bytes:2061425 (1.9 Mb) A doua verificare este corectitudinea ratrilor. Tabelele de ratare pot fi consultate tot cu programul route: Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface leased14.nemesi * 255.255.255.255 UH 0 0 0 ppp0 10.0. 0.0 * 255.255.255.0 U 0 127.0. 0.0 * 255.0.0.0 U0 0 0 lo default leased14.nemesi 0.0.0.0 UG 0 0 0 ppp0
0 0 eth0
A treia verificare ce trebuie fcut este accesibilitatea efectiv a altei maini, pentru care se folosete de regul programul ping, ce primete ca parametru numele mainii- destinaie sau adresa sa IP: PING metalab.unc.edu (152.2.210.81) from 192.130.21.14 : 56(84) bytes of data. 64 bytes from metalab.unc.edu (152.2.210.81): icmp_seq=0 ttl=235 time=281.878 msec 64 bytes from metalab.unc.edu (152.2.210.81): icmp_seq=1 ttl=235 time=268.268 msec 64 bytes from metalab.unc.edu (152.2.210.81): icmp_seq=2 ttl=235 time=248.270 msec
64 bytes from metalab.unc.edu (152.2.210.81): icmp_seq=3 ttl=235 time=278.304 msec 64 bytes from metalab.unc.edu (152.2.210.81): icmp_seq=4 ttl=235 time=268.304 msec 64 bytes from metalab.unc.edu (152.2.210.81): icmp_seq=5 ttl=235 time=267.780 msec 64 bytes from metalab.unc.edu (152.2.210.81): icmp_seq=6 ttl=235 time=268.250 msec --- metalab.unc.edu ping statistics ----------------7 packets transmitted, 7 packets received, 0% packet loss round-trip min/avg/max/mdev = 248.270/268.722/281.878/9.889 ms Poate fi utilizat i comanda traceroute, care afieaz toate mainile prin care trece pachetul n ruta sa ctre destinaie: traceroute to fenrir.info.uaic.ro (193.231.30.197), 30 hops max, 38 byte packets 1 esc26.leased.dntis.ro (172.21.33.155) 140.673 ms 139.693 ms 139.954 ms 2 cisco0.dntis.ro (193.226.30.30) 140.119 ms 166.454 ms 141.181 ms 3 route.dntis.ro (193.226.30.17) 139.930 ms 138.031 ms 150.607 ms 4 cisco-gw-escape.dntis.ro (193.226.30.145) 139.281 ms 137.995 ms 139.889 ms 5 * roedu-to-dntis.dntis.ro (193.226.30.122) 138.228 ms 168.003 ms 6 gw-man.iasi.roedu.net (193.231.140.2) 139.910 ms 137.972 ms 139.919 ms 7 217.73.168.10 (217.73.168.10) 139.952 ms 138.323 ms * 8 gw-masterc.uaic.ro (193.226.23.116) 144.437 ms 138.039 ms 139.908 ms 9 gate-info.uaic.ro (193.231.30.15) 149.912 ms * 140.091 ms 5.4.5. Rezolvarea numelor de main Pentru a putea identifica o main din reea, sistemul trebuie s i determine mai nti adresa IP. Exist dou modaliti n care aceasta poate fi determinat: cutnd numele n fiierul /etc/hosts; apelnd serverul DNS (vezi infra) care va rezolva adresa.
Dac maina nu este legat permanent la reea sau se gsete ntr-o reea de dimensiuni mici, nu este necesar configurarea dect a /etc/hosts. Fiierul /etc/hosts conine lista de maini aflate n reeaua local, inclusiv maina local. Iat un fiier exemplu de pe maina access.biosfarm.ro:
localhost access hercules secretariat comenzi ftp mail
193.226.30.8 193.226.30.15
127.0. 0.1 10.0. 0 # domeniile in care vor fi cautate mai intai numele de masina search .1 10.0.0.2 biosfarm.ro nemesis.ro 10.0. 0.3 10.0. 0.4
# servereie DNS ia care vor fi trimise cereriie de rezoivare # serverui DNS propriu nameserver 10.0.0.1 # aite servere DNS nameserver 193.233.7.1 nameserver 193.233.7.9 Sunt recunoscute urmtoarele directive principale: domain stabilete numele domeniului local (n care se afl maina). nameserver adresa unui server DNS cruia i va fi trimis cererea de rezolvare. Pot fi specificate mai multe directive nameserver. Dac primul server nu rspunde cererii, va fi apelat al doilea .a.m.d., n ordinea apariiei n fiier. search lista de domenii n care va fi cutat numele de main, separate prin spaii sau tab-uri. n exemplul nostru, dac este cutat maina main, va fi testat mai nti adresa main.biosfarm.ro, iar dac aceasta nu poate fi rezolvat, main.nemesis.ro. Pentru alte directive, recomandm consultarea man resoiv.conf.
5.4.6. Scripturi pentru configurarea reelei Dup cum am menionat mai sus, fiierele de configurare a interfeelor de reea se gsesc n directorul /etc/sysconfig/network-scripts i poart nume de forma ifcfg-nume_dispozitiv. Aceste fiiere sunt alctuite dintr-o serie de opiuni, dintre care cele mai uzuale sunt: DEVICE = nume_interfa Specific numele dispozitivului la care se refer opiunile (de exemplu, eth0, ppp0 etc.). IPADDR = adres Stabilete adresa IP asociat dispozitivului. NETMASK = adres Stabilete masca de reea. BROADCAST = adres Stabilete adresa broadcast. NETWORK = adres Specific adresa reelei. ONBOOT = val Stabilete dac interfaa de reea va fi activat n mod automat la pornirea sistemului de operare. Interfaa de reea poate fi activat prin comanda ifup nume_interfa i dezactivat prin ifdown nume_interfa. Redm mai jos un fiier de configurare pentru placa de reea eth0: DEVICE=eth0 IPADDR=10.0.0.11 NETMASK=255.255.255.0 BROADCAST=10.0.0.255 NETWORK=10.0.0.0 ONBOOT=yes
Ca i serviciul FTP, serviciul de pot electronic este unul dintre primele servicii oferite de Internet. Un sistem de pot electronic este alctuit din urmtoarele trei componente: 1. Ageni utilizator (clieni de pot electronic, MUA = Mail User Agent), programe care permit utilizatorilor s citeasc, s emit i s gestioneze mesajele. Programele cele mai des folosite n FreeBSD sunt pine, mutt, elm, Kmail, Evolution, Mozilla Mail etc.
2. Ageni de transport (MTA = Mail Transport Agent), programe responsabile pentru acceptarea mesajelor primite i livrarea acestora la destinaia final. Sistemul sendmail este agentul de transport tradiional din mediile UNIX. Ali ageni de transport sunt postfix, qmail i exim.
3. Ageni de distribuie (MDA = Mail Distribution Agent), programe care direcioneaz mesajele primite ctre csua potal a utilizatorului destinatar (cum ar fi procmail). Cea mai important component a sistemului de pot electronic este agentul de transport. Agenii de transport utilizai de obicei n Linux sunt sendmail (n continuare cel mai rspndit sistem utilizat, dei acesta a suferit, de-a lungul timpului, de numeroase probleme de securitate), postfix i qmail.