Pe stația client este instalat pachetul python-ldap
util pentru programarea unui client LDAP în Python.
Fișierul de mai jos implementează căutarea intrărilor LDAP pentru utilizatorii al căror atribut cn
începe cu Mihai
și afișează pentru aceștia atributele cn
și e-mail
.
#!/usr/bin/env python import sys import ldap def main(): ldap.set_option(ldap.OPT_PROTOCOL_VERSION, 3) l = ldap.initialize("ldaps://swarm.cs.pub.ro") entries = l.search_s("ou=People,dc=swarm,dc=cs,dc=pub,dc=ro", ldap.SCOPE_SUBTREE, '(cn=Mihai*)', ['cn', 'mail']) for dn, attrs in entries: print 'Found:', repr(dn) print attrs if __name__ == "__main__": sys.exit(main())
Fișierul se găsește și pe stația client, în directorul /root/
, și îl putem rula:
root@ldap-client:~# python simple-ldap.py Found: 'uid=mihai,ou=People,dc=swarm,dc=cs,dc=pub,dc=ro' {'mail': ['XXXXXX@gmail.com'], 'cn': ['Mihai Maruseac']} Found: 'uid=moro,ou=People,dc=swarm,dc=cs,dc=pub,dc=ro' {'mail': ['XXXXXX@gmail.com'], 'cn': ['Mihai Morogan']} [...]
Actualizați scriptul astfel încât sa extragă din intrările de mai sus acele intrări ale căror adresă de e-mail conține șirul @gmail.com
. Apoi afișați doar atributele uid
, cn
și email
pe o singură linie, separate prin virgulă, la fel ca mai jos:
mihai, Mihai Maruseac, XXXXXX@gmail.com moro, Mihai Morogan, XXXXXX@gmail.com
attrs
este un dicționar. Pentru a obține fiecare element numit item
dintr-un dicționar d
folosiți construcția d['item']
.
Fiecare element din dicționarul attrs
este o listă. Pentru a obține primul element (cel căutat) din listă, folosiți o expresie de forma l[0]
, unde l
este lista.