Differences

This shows you the differences between two versions of the page.

Link to this comparison view

saisp:labs:01:contents:03 [2014/02/02 18:47]
razvan.deaconescu [03. [15p] Căutare în baza de date LDAP]
saisp:labs:01:contents:03 [2014/02/18 11:43] (current)
razvan.deaconescu [03. [15p] Căutare în baza de date LDAP]
Line 90: Line 90:
 === Filtrare după atribute === === Filtrare după atribute ===
  
-În SQL, clauza ''​where''​ permite selectarea doar anumitor intrări. La fel permite și comanda ''​ldapsearch'' ​folosrea ​de filtre de căutare.+În SQL, clauza ''​where''​ permite selectarea doar anumitor intrări. La fel permite și comanda ''​ldapsearch'' ​folosirea ​de filtre de căutare.
  
 Astfel, pentru a selecta intrările de utilizator al căror prenume este ''​Silviu''​ vom folosi comanda<​code bash> Astfel, pentru a selecta intrările de utilizator al căror prenume este ''​Silviu''​ vom folosi comanda<​code bash>
Line 122: Line 122:
 cn: Alexandru Andrei cn: Alexandru Andrei
 sn: Andrei sn: Andrei
 +[...]
 </​code>​ </​code>​
 Atributul ''​sn''​ înseamnă numele de familie (//​surname//​) iar //glob//-ul ''​An*''​ însemnă șirurile care încep cu ''​An''​. Atributul ''​sn''​ înseamnă numele de familie (//​surname//​) iar //glob//-ul ''​An*''​ însemnă șirurile care încep cu ''​An''​.
Line 137: Line 138:
  
 Realizați următoarele căutări în baza de date LDAP de pe ''​swarm.cs.pub.ro'':​ Realizați următoarele căutări în baza de date LDAP de pe ''​swarm.cs.pub.ro'':​
-  ​Extrageți utilizatorii al căror nume de familie este ''​Popescu''​. +  ​Extrageți utilizatorii al căror nume de familie este ''​Popescu''​. 
-  ​* Extrageți utilizatorii al căror atribut ''​uidNumber''​ este mai mare de ''​1400''​. +  ​Extrageți uid-ul și cn-ul utilizatorilor a căror adresă de e-mail conține șirul ''​@cti.pub.ro''​. 
-  * Extrageți uid-ul și cn-ul utilizatorilor a căror adresă de e-mail conține șirul ''​@cti.pub.ro''​. +  ​- Extrageți utilizatorii al căror nume de familie nu se termină în ''​escu''​. 
-  ​Extrageți utilizatorii al căror prenume este ''​Vlad''​ sau ''​Andrei''​. +  - Extrageți utilizatorii al căror prenume este ''​Vlad'' ​**sau** ''​Andrei''​. 
-  ​Extrageți uid-ul, e-mail-ul și sn-ul utilizatorilor al căror prenume este ''​Vlad''​ sau ''​Andrei''​.+  ​Extrageți uid-ul, e-mail-ul și numele de familie al utilizatorilor al căror prenume este ''​Vlad''​ sau ''​Andrei''​.
  
 <note important>​ <note important>​
 Detalii legate de folosirea filtrelor de căutare găsiți la pagina http://​www.centos.org/​docs/​5/​html/​CDS/​ag/​8.0/​Finding_Directory_Entries-LDAP_Search_Filters.html. Detalii legate de folosirea filtrelor de căutare găsiți la pagina http://​www.centos.org/​docs/​5/​html/​CDS/​ag/​8.0/​Finding_Directory_Entries-LDAP_Search_Filters.html.
 +
 +Este recomandat să puneți expresiile de filtrare între apostroafe sau ghilimele ca să preveniți interpretarea caracterelor speciale de shell.
 </​note>​ </​note>​
 +
 +<​solution -hidden>
 +Comenzile care realizează căutările cerute mai sus sunt:<​code bash>
 +root@ldap-client:​~#​ ldapsearch -x -LLL -H ldaps://​swarm.cs.pub.ro -b "​dc=swarm,​dc=cs,​dc=pub,​dc=ro"​ sn="​Popescu"​
 +
 +root@ldap-client:​~#​ ldapsearch -x -LLL -H ldaps://​swarm.cs.pub.ro -b "​dc=swarm,​dc=cs,​dc=pub,​dc=ro"​ mail="​*@cti.pub.ro*"​
 +
 +root@ldap-client:​~#​ ldapsearch -x -LLL -H ldaps://​swarm.cs.pub.ro -b "​dc=swarm,​dc=cs,​dc=pub,​dc=ro"​ '​(!(sn=*escu))'​
 +
 +root@ldap-client:​~#​ ldapsearch -x -LLL -H ldaps://​swarm.cs.pub.ro -b "​dc=swarm,​dc=cs,​dc=pub,​dc=ro"​ '​(|(givenName=Vlad)(givenName=Andrei))'​
 +
 +root@ldap-client:​~#​ ldapsearch -x -LLL -H ldaps://​swarm.cs.pub.ro -b "​dc=swarm,​dc=cs,​dc=pub,​dc=ro"​ '​(|(givenName=Vlad)(givenName=Andrei))'​ uid mail sn
 +</​code>​
 +</​solution>​
saisp/labs/01/contents/03.1391359649.txt.gz · Last modified: 2014/02/02 18:47 by razvan.deaconescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0