This shows you the differences between two versions of the page.
saisp:labs:01:contents:05 [2014/02/02 21:13] razvan.deaconescu [05. [15p] Adăugare intrări în baza de date LDAP] |
saisp:labs:01:contents:05 [2014/02/18 13:56] (current) razvan.deaconescu [05. [15p] Adăugare intrări în baza de date LDAP] |
||
---|---|---|---|
Line 10: | Line 10: | ||
</code> | </code> | ||
- | Pentru a adăuga intrări în baza de date LDAP folosim comanda ''ldapadd''. Trebuie să precizăm care este ''dn''-ul contului de administrator:<code bash> | + | Pentru a adăuga intrări în baza de date LDAP folosim comanda ''ldapadd''. Trebuie să precizăm care este ''dn''-ul contului de administrator (parola este ''student''):<code bash> |
root@ldap-client:/etc/ldap/ldif# ldapadd -x -D cn=admin,dc=labs,dc=cs,dc=pub,dc=ro -W -f o-terran.ldif | root@ldap-client:/etc/ldap/ldif# ldapadd -x -D cn=admin,dc=labs,dc=cs,dc=pub,dc=ro -W -f o-terran.ldif | ||
Enter LDAP Password: | Enter LDAP Password: | ||
Line 56: | Line 56: | ||
<note hint> | <note hint> | ||
- | Acolo unde vă solicită un câmp completați cu o valoare dorită. | + | Acolo unde vă solicită un câmp completați cu o valoare potrivită. |
- | </note hint> | + | </note> |
Creați două noi fișiere: | Creați două noi fișiere: | ||
- | * ''uid-vmengsk.ldif'' conține informații despre ''Valerian Mengsk'' (Dominion, Tarsonis). | + | * ''uid-vmengsk.ldif'' conține informații despre ''Valerian Mengsk'' (Dominion). |
- | * ''uid-horner.ldif'' conține informații despre ''Matt Horner'' (Raiders, Hyperion). | + | * ''uid-horner.ldif'' conține informații despre ''Matt Horner'' (Raiders). |
Adăugați aceste fișiere la baza de date LDAP. | Adăugați aceste fișiere la baza de date LDAP. | ||
+ | |||
+ | <note tip> | ||
+ | Se recomandă să porniți de la fișiere existente și să le modificați pe acelea. Puteți porni de la fișierele ''uid-amengsk.ldif'' și ''uid-raynor.ldif''. | ||
+ | </note> | ||
În final listați conținutul bazei de date. | În final listați conținutul bazei de date. | ||
+ | |||
+ | <solution -hidden> | ||
+ | Adăugăm intrări în baza de date LDAP:<code bash> | ||
+ | root@ldap-client:/etc/ldap/ldif# ldapadd -x -D cn=admin,dc=labs,dc=cs,dc=pub,dc=ro -W -f o-protoss.ldif | ||
+ | Enter LDAP Password: | ||
+ | adding new entry "o=Protoss,dc=labs,dc=cs,dc=pub,dc=ro" | ||
+ | |||
+ | root@ldap-client:/etc/ldap/ldif# ldapadd -x -D cn=admin,dc=labs,dc=cs,dc=pub,dc=ro -W -f ou-khalai.ldif | ||
+ | Enter LDAP Password: | ||
+ | adding new entry "ou=Khalai,o=Protoss,dc=labs,dc=cs,dc=pub,dc=ro" | ||
+ | |||
+ | root@ldap-client:/etc/ldap/ldif# ldapadd -x -D cn=admin,dc=labs,dc=cs,dc=pub,dc=ro -W -f ou-nerazim.ldif | ||
+ | Enter LDAP Password: | ||
+ | ldapadd: invalid format (line 4) entry: "ou=Nerazim,o=Protoss,dc=labs,dc=cs,dc=pub,dc=ro" | ||
+ | </code> | ||
+ | |||
+ | Problema fișierului ''ou-nerazim.ldif'' este absența caracterului '':'' (două puncte) în cadrul liniei cu atributul ''description''. Trebuie să fie așa:<code> | ||
+ | description: Protoss Dark Templar caste | ||
+ | </code> | ||
+ | |||
+ | Adăugăm apoi fișierele:<code bash> | ||
+ | root@ldap-client:/etc/ldap/ldif# ldapadd -x -D cn=admin,dc=labs,dc=cs,dc=pub,dc=ro -W -f ou-nerazim.ldif | ||
+ | Enter LDAP Password: | ||
+ | adding new entry "ou=Nerazim,o=Protoss,dc=labs,dc=cs,dc=pub,dc=ro | ||
+ | |||
+ | root@ldap-client:/etc/ldap/ldif# ldapadd -x -D cn=admin,dc=labs,dc=cs,dc=pub,dc=ro -W -f uid-artanis.ldif | ||
+ | Enter LDAP Password: | ||
+ | adding new entry "uid=artanis,ou=Khalai,o=Protoss,dc=labs,dc=cs,dc=pub,dc=ro" | ||
+ | ldap_add: Object class violation (65) | ||
+ | additional info: object class 'inetOrgPerson' requires attribute 'sn' | ||
+ | </code> | ||
+ | |||
+ | Observăm că atributul ''sn'' (nume de familie -- //surname//) este obligatoriu pentru intrările din clasa ''inetOrgPerson''. Adăugăm în fișierele ''uid-artanis.ldif'' și ''uid-zeratul.ldif'' linia:<code> | ||
+ | sn: Templar | ||
+ | </code> | ||
+ | |||
+ | Adăugăm acum fișierele:<code bash> | ||
+ | root@ldap-client:/etc/ldap/ldif# ldapadd -x -D cn=admin,dc=labs,dc=cs,dc=pub,dc=ro -W -f uid-artanis.ldif | ||
+ | Enter LDAP Password: | ||
+ | adding new entry "uid=artanis,ou=Khalai,o=Protoss,dc=labs,dc=cs,dc=pub,dc=ro" | ||
+ | |||
+ | root@ldap-client:/etc/ldap/ldif# ldapadd -x -D cn=admin,dc=labs,dc=cs,dc=pub,dc=ro -W -f uid-zeratul.ldif | ||
+ | Enter LDAP Password: | ||
+ | adding new entry "uid=zeratul,ou=Nerazim,o=Protoss,dc=labs,dc=cs,dc=pub,dc=ro" | ||
+ | </code> | ||
+ | |||
+ | Generăm apoi fișiere LDIF pentru ''uid-vmengsk.ldif'' și pentru ''uid-horner.ldif'' pornind de la cele existente:<code> | ||
+ | root@ldap-client:/etc/ldap/ldif# cp uid-amengsk.ldif uid-vmengsk.ldif | ||
+ | root@ldap-client:/etc/ldap/ldif# vi uid-vmengsk.ldif | ||
+ | root@ldap-client:/etc/ldap/ldif# cp uid-raynor.ldif uid-horner.ldif | ||
+ | root@ldap-client:/etc/ldap/ldif# vi uid-horner.ldif | ||
+ | </code> | ||
+ | |||
+ | Apoi adăugăm fișierele generate în baza de date LDAP:<code bash> | ||
+ | root@ldap-client:/etc/ldap/ldif# ldapadd -x -D cn=admin,dc=labs,dc=cs,dc=pub,dc=ro -W -f uid-vmengsk.ldif | ||
+ | Enter LDAP Password: | ||
+ | adding new entry "uid=vmengsk,ou=Dominion,o=Terran,dc=labs,dc=cs,dc=pub,dc=ro" | ||
+ | |||
+ | root@ldap-client:/etc/ldap/ldif# ldapadd -x -D cn=admin,dc=labs,dc=cs,dc=pub,dc=ro -W -f uid-horner.ldif | ||
+ | Enter LDAP Password: | ||
+ | adding new entry "uid=horner,ou=Raiders,o=Terran,dc=labs,dc=cs,dc=pub,dc=ro" | ||
+ | </code> | ||
+ | |||
+ | Ulterior putem urmări toate intrările din baza de date LDAP:<code bash> | ||
+ | root@ldap-client:/etc/ldap/ldif# ldapsearch -x -LLL dn | ||
+ | dn: dc=labs,dc=cs,dc=pub,dc=ro | ||
+ | |||
+ | dn: cn=admin,dc=labs,dc=cs,dc=pub,dc=ro | ||
+ | |||
+ | dn: o=Terran,dc=labs,dc=cs,dc=pub,dc=ro | ||
+ | |||
+ | dn: o=Protoss,dc=labs,dc=cs,dc=pub,dc=ro | ||
+ | |||
+ | dn: ou=Dominion,o=Terran,dc=labs,dc=cs,dc=pub,dc=ro | ||
+ | |||
+ | dn: ou=Raiders,o=Terran,dc=labs,dc=cs,dc=pub,dc=ro | ||
+ | |||
+ | dn: uid=raynor,ou=Raiders,o=Terran,dc=labs,dc=cs,dc=pub,dc=ro | ||
+ | |||
+ | dn: uid=amengsk,ou=Dominion,o=Terran,dc=labs,dc=cs,dc=pub,dc=ro | ||
+ | |||
+ | dn: ou=Khalai,o=Protoss,dc=labs,dc=cs,dc=pub,dc=ro | ||
+ | |||
+ | dn: ou=Nerazim,o=Protoss,dc=labs,dc=cs,dc=pub,dc=ro | ||
+ | |||
+ | dn: uid=artanis,ou=Khalai,o=Protoss,dc=labs,dc=cs,dc=pub,dc=ro | ||
+ | |||
+ | dn: uid=zeratul,ou=Nerazim,o=Protoss,dc=labs,dc=cs,dc=pub,dc=ro | ||
+ | |||
+ | dn: uid=vmengsk,ou=Dominion,o=Terran,dc=labs,dc=cs,dc=pub,dc=ro | ||
+ | |||
+ | dn: uid=horner,ou=Raiders,o=Terran,dc=labs,dc=cs,dc=pub,dc=ro | ||
+ | </code> | ||
+ | </solution> |