Documente Academic
Documente Profesional
Documente Cultură
Servicii
Motivul pentru care tehnologia calculatoarelor a evoluat la stadiul n care se
afl n ziua de azi se datoreaz n mare parte facilitilor pe care aceasta a
putut s le ofere i datorit capacitii de distribuire a informaiilor la ct mai
muli utilizatori, ntr-un timp ct mai mic cu putin.
La baza acestor faciliti au stat serviciile, sau mai exact programele ce
ruleaz pe sistemele informatice, ce fac posibil oferirea unei game largi de
utiliti unor utilizatori. Datorit naturii serviciilor oferite, unde activitatea
principal este reprezentat de schimbul de informaii (de diverse tipuri),
marea parte a acestora se raporteaz dar nu se rezum exclusiv la
mediul de comunicare, sau mai exact la reele de calculatoare (printre care i
cea mai extins reea de calculatoare din lume, cunoscut sub numele de
Internet). Un bun exemplu de serviciu oferit deasupra infrastructurii de
comunicare existente l reprezint paginile web, care folosesc reeaua
internet pentru schimbul de informaii.
n orice serviciu oferit exist dou entiti principale: cea care ofer serviciul
(server) i cea care beneficiaz de serviciul oferit (client). n cazul exemplului
anterior, paginile web (cu care aproape orice utilizator de calculatoare este
familiar) sunt oferite de un calculator (numit server) printr-un protocol bine
stabilit (numit HTTP sau Hypertext Transfer Protocol), ctre un alt
calculator care a apelat serviciul respectiv (numit client).
Mai exact, att server-ul ct i client-ul nu sunt altceva dect nite
programe cu funcii bine stabilite, menite s comunice unul cu cellalt (de
regul printr-un protocol) pentru a oferi un serviciu n cazul precedent,
serverul este reprezentat de un server HTTP care are rolul de a transfera
pagina ctre client, care nu este altceva dect un web browser precum
Internet Explorer sau Mozilla Firefox.
Serviciile informatice nu se rezum la un singur sistem de operare, i de
regul clientul i server-ul sunt independente din punct de vedere al
platformei pe care ruleaz concret, dei marea majoritate a serverelor
HTTP ruleaz sub Linux, paginile web pot fi accesate i de ctre utilizatorii
de Windows sau MacOS; acest lucru este posibil datorit protocolului de
comunicare folosit, care este independent de sistemul de operare.
Serverele care ofer un serviciu (cunoscute i sub numele de daemons)
reprezint programe care ruleaz de regul n fundal, oferind un nivel de
interaciune local foarte sczut, spre deosebire de programele
convenionale. Acestea sunt menite s lucreze n mod autonom pe fundal, n
baza unor configuraii prestabilite, i s ofere un serviciu unui client n
momentul n care apare o cerere pentru acel serviciu. Serverul HTTP de
exemplu, ateapt cereri de la browsere web (de regul pe portul 80) i le
transfer acestora paginile web cerute.
Legturi ctre script-ul responsabil cu serviciul cups se pot gsi n toate cele
5 run-levels, cu meniunea c cele al cror nume ncepe cu K (kill) se refer
terminarea serviciului, iar al cror nume ncepe cu S sunt responsabile
pentru pornirea serviciului respectiv. Dac dorim s excludem serviciul de la
iniializarea automat, odat cu pornirea sistemului, ar trebui s apelm
comanda update-rc.d -f cups remove (parametrul -f foreaz eliminarea,
cups reprezint numele serviciului int, iar remove specific eliminarea
serviciului din procesul de iniializare).
Comanda de mai sus poate fi explicat foarte simplu n modul urmtor: cups
reprezint numele serviciului, start 20 2 3 4 5 . simbolizeaz necesitatea
configurrii scriptului pentru pornire cu prioritatea 20 pe nivelele 2,3,4 i 5, iar
punctul simbolizeaz sfritul secvenei. Secvena urmtoare de parametru
este similar, dar se refer la script-uri de oprire, cu prioritatea 20 numai
pentru nivelul 1.
Dac utilitarul update-rc.d permite o configurare n detaliu al fiecrui serviciu
n parte, cel din modul grafic, inclus n suita GNOME este ceva mai simplu.
Acesta poate fi gsit n mediul grafic n meniul System -> Administration ->
Services.
Root
.com
exemplu
.edu
.gov
.mil
.org
.net
.ro
Int
.de
.us
www
IN
ns IN
A
192.168.2.100
prin care se va aduga i subdomeniul ns pentru domeniul exemplu.ro.
Pasul 5. Verificarea fiierelor de configurare dup modificarea lor, se
poate
realiza
cu
ajutorul
utilitarului
named-checkconf
(fiier_de_configurare). Acest pas poate fi srit, ns poate furniza indicii
importante n cazul n care server-ul bind9 nu mai poate s porneasc.
Pasul 6. Restartarea server-ului bind9 se poate face prin comanda:
/etc/init.d/bind9 restart
Aceast comand va fora recitirea fiierelor de configuraie, server-ul
ncrcnd astfel informaiile despre noul domeniu exemplu.ro.
Pasul 7. Testarea server-ului DNS se poate face n mai multe feluri: fie prin
includerea IP-ului staiei ce ruleaz daemon-ul n lista de servere DNS
(adugarea unei linii n fiierului /etc/resolv.conf de tipul nameserver
ip_server), fie prin utilizarea unor utilitare DNS lookup, precum dig sau
nslookup. n cazul de fa, vom testa server-ul cu ajutorul utilitarului dig:
dig @adres_server_DNS nume_domeniu [+short]
Comanda anterioar va ntreba serverul menionat prin parametrul
adres_server_DNS de toate nregistrrile referitoare la domeniul
nume_domeniu, pe care le va afia pe ecran, impartitie n seciuni de tipul
answer, question, etc. Parametrul opional +short va fora programul s
afieze doar adresa IP a numelui de domeniu cutat n cazul n care aceasta
poate fi determinat. Comanda necesar pentru exemplul curent n cazul
n care este rulat de pe acelai sistem ca i server-ul:
dig @localhost exemplu.ro +short
n acest moment, domeniul exemplu.ro va fi configurat i disponibil tuturor
utilizatorilor care au configurat ca server DNS, sistemul pe care server-ul
ruleaz.
n cazul n care se dorete configurarea domeniului exemplu.ro pentru a
suporta i reverse lookup (traducerea din adres IP n nume de domeniu),
mai trebuie urmai civa pai adiionali:
Pasul 8. Crearea zonei reverse se realizeaz prin adugarea urmtoarelor
linii n fiierului /etc/bind/named.conf.local:
zone 2.168.192.in-addr.arpa {
type master;
notify no;
file /etc/bind/db.192;
};
Numele zonei trebuie s respecte formatul de mai sus, mai exact s conin
primele 3 pri ale adresei IP asociate cu domeniul (n ordine invers), urmat
de in-addr.arpa. Se poate observa opiunea notify (cu valoarea no) care
semnalizeaz serverului DNS s nu ntiineze serverele slave n momentul
n care acesta primete o actualizare a fiierelor sale de zon.
Options este una dintre cele mai importante directive, prin intermediul
creia se poate controla disponibilitatea tuturor funciilor server-ului la
nivel de directoare. Directiva poate primi mai multe opiuni, separate ntre
ele prin spaii. Printre opiunile cele mai folosite se numr (acestea sunt
case-sensitive):
All - toate opiunile activate cu excepia Multiviews. Aceasta
este i setarea implicit a directivei Options.
FollowSymLink permite server-ului apache s urmeze
legturile simbolice n directorul curent.
ExecCGI permite executarea scripturilor CGI prin
intermediul modulului aferent.
Indexes - n cazul n care directorul la care se refer nu
conine nici un fiier de tip index (exemplu index.html), atunci
server-ul va genera o pagin al crei coninut va fi o list cu
toate fiierele directorului respectiv. Acest comportament va fi
activat numai dac fiierul index nu exist, iar URL-ul folosit
n cerere de ctre client nu se refer n mod direct la un fiier
din directorul curent.
AllowOverride tip atunci cnd server-ul gsete un fiier .htaccess n
directorul curent, aceast directiv i specific ce opiuni pot nlocui orice
directive precedente. Tipurile disponibile sunt:
None va duce la ignorarea fiierului .htaccess.
All orice directiv care se refer la directorul respectiv va
avea acces la fiierul .htaccess.
AuthConfig permite folosirea directivelor de autorizare
FileInfo permite folosirea directivelor ce controleaz tipul
documentelor
Indexes permite folosirea directivelor ce controleaz
procesul de indexare al directoarelor
Directiva Order specific ordinea n care vor fi interpretate directivele
Allow i Deny prin intermediul crora se poate stabili un sistem de acces
bazat pe trei iteraii. Opiunile posibile sunt:
Allow,Deny se ncepe prin evaluarea directivelor Allow
(dac orice cerere nu se potrivete cu nici o directiv, aceasta
va fi respins), urmate apoi de directivele Deny.
Deny,Allow se ncepe prin evaluarea directivelor Deny, iar
n cazul unei potriviri, cererea este respins.
Exemple:
Order Deny,Allow
Deny from all
Allow from www.exemplu.ro
n cazul anterior, toate cererile vor fi respinse, cu excepia
celor provenite de la domeniul www.exemplu.ro.
Order Allow, Deny
Allow from exemplu.ro
Deny from ns.exemplu.ro
Aceasta este o variant simplificat de site, care va avea coninutul propriuzis n directorul /var/www.exemplu.ro (este o practic comun pentru
adminsitratori s pstreze site-urile n directoare cu acelai nume pentru o
localizare mai uoar). A se observa c am redus numrul de directive fa
de fiierul original i c am configurat site-ul virtual s fie disponibil pe port-ul
2009.
Pasul 4. Crearea coninutului site-ului va fi un simplu fiier html, pentru
demonstrarea conceptului. Va trebui creat mai nti directorul corespunztor,
apoi adugat fiierul html:
mkdir /var/www.exemplu.ro
mcedit /var/www.exemplu.ro/index.html
userdb passwd {
}
socket listen {
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
}
Liniile de mai sus vor descrie funcionarea server-ului dup cum urmeaz:
option domain-name exemplu.ro definete numele domeniului
curent; urmnd contextul prezentat pn n acest moment, vom folosi
domeniul exemplu.ro.
option domain-name-servers 192.168.2.102 definete serverele DNS
ce vor fi transmise clienilor pentru rezolvarea numelor de domenii n
adrese IP. n acest caz, singurul server DNS este 192.168.2.102, aceeai
adres folosit i la configurarea server-ului DNS n seciunile anterioare.
Aceast opiune permite niruirea mai multor servere, separate prin
virgule, acestea urmnd s fie folosite de ctre clieni n ordinea n care
apar: un exemplu bun pentru mai multe servere DNS ar fi option domainname-servers 192.168.2.102, 192.168.2.103;
option routers 192.168.2.1 specific care va router-ul folosit de ctre
clieni. La fel ca i n cazul precedent, pot fi specificate mai multe routere,
delimitate prin virgule, acestea urmnd s fie folosite n ordinea n care
sunt menionate.
Liniile de mai sus definesc o nou entitate numit server, prin intermediul
directivei host. Ca i n cazul subretelelor, directiva host delimiteaz prin
acolade o structur ce va conine parametri funcionali pentru o entitate
specific.
hardware ethernet 00:0c:29:87:a3:4f specific adresa MAC a interfeei
de reea asociat cu sistemul server, ct i tipul de reea (ethernet /
token-ring).
fixed-address 192.168.2.199 specific o adres IP care va fi atribuit
unui client. Se pot meniona mai multe adrese separate prin virgule, din
care clientul va alege adresa potrivit n funcie de subreteaua din care
face parte. Putem afirma, drept concluzie, c am alocat adresa static
/etc/init.d/slapd stop
slapindex
chown openldap:openldap /var/lib/ldap/*
/etc/init.d/slapd start
n acest moment, server-ul LDAP este configurat, i gata de a fi folosit;
acesta nu conine ns date importante, acestea urmnd s fie adugate.
Pasul 3. Testarea server-ului
Testarea server-ului LDAP se poate realiza prin efectuarea unor operaii de
citire, numite n terminologia protocolului LDAP search. Cutrile se pot
realiza folosind o serie de utilitare n linie de comand precum ldapsearch
sau slapcat. Diferena dintre cele dou este aceea ca ldapsearch (i restul
utilitarelor ce ncep cu ldap) efectueaz operaii n mod online, adic prin
intermediul server-ului OpenLDAP folosind protocolul specific, pe cnd
slapcat (i restul utilitarelor ce ncep cu slap) citesc fiierele locale motiv
pentru care trebuie rulate local pe sistemul care ruleaz server-ul LDAP cu
privilegii de root.
Pentru folosirea utilitarelor din gama ldap, trebuie instalat pachetul
apt-get install ldap-utils
i modificat fiierul de configurare specific tuturor clienilor LDAP cu un editor
text. Modificrile vor specifica o serie de parametri generali astfel nct
utilitarul s tie domeniul i server-ul pentru care urmeaz s realizeze
cutarea. n acest scop, trebuie adugate urmtoarele dou linii n cadrul
fiierului /etc/ldap/ldap.conf:
BASE
dc=exemplu, dc=ro
URI ldap://192.168.2.102
Domeniul este descris de prima linie, prin atribute de tipul dc (Domain
Component) unde fiecare subdomeniu este definit, iar adresa server-ului
LDAP este descris de cea de-a doua linie.
n final, trebuie lansat utilitarul:
ldapsearch x
Parametrul x specific faptul c se dorete o autentificare simpl n locul
metodei preferate (SASL):
dn: ou=Oameni,dc=exemplu,dc=ro
ou: Oameni
objectClass: organizationalUnit
dn: ou=Grupuri,dc=exemplu,dc=ro
ou: Grupuri
objectClass: organizationalUnit
Acest fiier va fi folosit pentru descrierea celor dou entiti Oameni i
Grupuri ce urmeaz a fi adugate n baza de date LDAP. Pentru c
schimbrile s fie activate, acest fiier va trebui ncrcat (folosind utilitarul
slapadd) dup ce server-ul a fost oprit:
/etc/init.d/slapd stop
slapadd c v l /var/tmp/ldap
/etc/init.d/slapd start
Seria de parametri pentru utilitarul slapadd sunt: -c, va fora ignorarea
erorilor, -v, va activa modul verbose iar l este folosit pentru specificarea
unui fiier de tip LDIF. Dup repornirea server-ului, este recomandat
executarea comenzii ldapsearch x pentru a verifica dac cele dou
nregistrri de mai sus au fost ntr-adevr adugate n baza de date.
Pasul 5. Crearea conturilor de utilizator
Crearea conturilor de utilizator se face n aceeai manier ca i crearea
entitilor precedente, prin intermediul fiierelor LDIF. Astfel, trebuie creat un
fiier temporar care va fi ncrcat n baza de date LDAP cu ajutorul utilitarului
ldapadd. Fiierul temporar n acest caz va fi /var/tmp/user i va conine
urmtoarele linii:
dn: cn=user10,ou=Grupuri,dc=exemplu,dc=ro
cn: user10
gidNumber: 5000
objectClass: top
objectClass: posixGroup
dn: uid=user10,ou=Oameni,dc=exemplu,dc=ro
uid: user10
uidNumber: 5000
gidNumber: 5000
cn: user10
sn: user10
objectClass: top
objectClass: person
objectClass: posixAccount
objectClass: shadowAccount
loginShell: /bin/bash
homeDirectory: /home/user10
ncrcarea fiierului LDIF n directorul LDAP se va face cu ajutorul comenzii:
ldapadd c x D cn=admin,dc=exemplu,dc=ro W f
/var/tmp/user
umask=0022