06. [20p] Adăugare conturi de utilizatori în baza de date LDAP

Pentru a putea folosi conturi din baza de date LDAP pentru anumite forme de autentificare, este necesar ca intrările să aibă ca objectClass atât posixAccount cât și shadowAccount. Cele două clase conțin informații precum uid, password, loginShell, uidNumber, gidNumber.

Trebuie, așadar, să modificăm intrările de tip utilizator existente în baza de date LDAP. Modificările se realizează tot prin intermediul unui fișier LDIF. Astfel, pentru a adăuga informații din clasa posixAccount și shadowAccount pentru utilizatorul amengsk vom folosi un fișier cu următorul conținut:

account-uid-amengsk.ldif
dn: uid=amengsk,ou=Dominion,o=Terran,dc=labs,dc=cs,dc=pub,dc=ro
changetype: modify
add: objectClass
objectClass: posixAccount
-
add: uidNumber
uidNumber: 1001
-
add: gidNumber
gidNumber: 1000
-
add: homeDirectory
homeDirectory: /home/amengsk
-
add: loginShell
loginShell: /bin/bash
-
add: gecos
gecos: Arcturus Mengsk,,,
-
add: objectClass
objectClass: shadowAccount
-

Acest fișier se găsește și pe stația client în directorul /etc/ldap/ldif/modify/, cu numele account-uid-amengsk.ldif.

Adăugăm noile informații folosind comanda ldapmodify, cu o sintaxă similară comenzii ldapadd:

root@ldap-client:/etc/ldap/ldif/modify# ldapmodify -x -D cn=admin,dc=labs,dc=cs,dc=pub,dc=ro -W -f account-uid-amengsk.ldif

Acum verificăm modificările în baza de date LDAP folosind comanda ldapsearch:

root@ldap-client:/etc/ldap/ldif/modify# ldapsearch -x -LLL uid=amengsk
dn: uid=amengsk,ou=Dominion,o=Terran,dc=labs,dc=cs,dc=pub,dc=ro
uid: amengsk
cn: Arcturus Mengsk
givenName: Arcturus
sn: Mengsk
mail: mengsk@dominion.terran.mil
objectClass: person
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uidNumber: 1001
gidNumber: 1000
homeDirectory: /home/amengsk
loginShell: /bin/bash
gecos: Arcturus Mengsk,,,

Pentru a fi informațiile complete trebuie completate câmpurile legate de parole. Pentru aceasta se folosește comanda ldappasswd:

root@ldap-client:/etc/ldap/ldif/modify# ldappasswd -x -D cn=admin,dc=labs,dc=cs,dc=pub,dc=ro -W -S uid=amengsk,ou=Dominion,o=Terran,dc=labs,dc=cs,dc=pub,dc=ro
New password: 
Re-enter new password: 
Enter LDAP Password:

Opțiunea -W folosită și în cazul comenzilor ldapadd și ldappaswd înseamnă că parola utilizatorului de bind (cel care face modificarea, în cazul de față cn=admin,dc=labs,dc=cs,dc=pub,dc=ro) se va citi de la intrarea standard. Opțiunea -S spune că parola care va fi completată utilizatorului transmis ca parametru (uid=amengsk…) va fi citită, de asemenea, de la intrarea standard. În rularea de mai sus se cere întâi parola utilizatorului primit ca parametru (introduceți ce parolă doriți), se confirmă acea parolă și apoi se cere parola de bind.

În acest moment utilizatorul are configurată parola. Pentru a verifica acest lucru, putem să citim intrarea din baza de date LDAP. Câmpul de parolă este însă accesibil doar utilizatorului propriu sau doar celui privilegiat. Vom face citirea folosind utilizatorul propriu (bind):

root@ldap-client:/etc/ldap/ldif/modify# ldapsearch -x -LLL -D 'uid=amengsk,ou=Dominion,o=Terran,dc=labs,dc=cs,dc=pub,dc=ro' -W uid=amengsk userPassword
Enter LDAP Password: 
dn: uid=amengsk,ou=Dominion,o=Terran,dc=labs,dc=cs,dc=pub,dc=ro
userPassword:: e1NTSEF9NDhXajhSbzZ6THNWZ1YrRjRnNjRITno4blNYaWhSblo=

În comanda de mai sus am realizat bind la serverul LDAP folosind chiar utilizatorul amengsk, am folosit opțiunea -W pentru a citi parola de la intrarea standard și apoi am solicitat afișarea câmpului userPassword în format base64.

Exercițiu: Realizați pașii de mai sus și pentru utilizatorii raynor, vmengsk, horner, zeratul și artanis.

Creați copii ale fișierului /etc/ldap/ldif/account-uid-mengsk.ldif, încărcați-le în baza de date LDAP și apoi configurați parola pentru fiecare utilizator. Incrementați pentru fiecare utilizator adăugat valoarea pentru numărul de UID (uidNumber).

saisp/labs/01/contents/06.txt · Last modified: 2014/02/18 12:28 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