This shows you the differences between two versions of the page.
saisp:labs:02:contents:05 [2013/11/11 00:46] 127.0.0.1 external edit |
saisp:labs:02:contents:05 [2014/03/03 00:19] (current) razvan.deaconescu [05. Actualizare configurare pentru server] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 05. Lorem ipsum ==== | + | ==== 05. [10p] Actualizare configurare pentru server ==== |
- | ... | + | Serverul de LDAP are două tipuri de baze de date. O bază de date internă, pentru configuare, și o bază de date cu informații LDAP. Baza de date internă permite serverului de LDAP configurarea acestuia tot prin comenzi LDAP; se asigură astfel o interfață unificată și, mai mult, posibilitatea de a realiza configurații fără a fi nevoie de repornirea serverului. |
+ | Pentru a urmări și configura întreaga bază de date de internă a serverului rulăm, pe stația de tip server, comanda<code bash> | ||
+ | root@ldap-server:~# ldapsearch -Y EXTERNAL -H ldapi:/// -b "cn=config" | ||
+ | [...] | ||
+ | </code> | ||
+ | Sunt afișate foarte multe informații, practic toată baza de date internă a serverului LDAP. Dacă vrem să afișăm doar informațiile ce țin de configurarea informațiilor, vom investiga intrarea ''olcDatabase={1}hdb,cn=config'':<code bash> | ||
+ | root@ldap-server:~# ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b "olcDatabase={1}hdb,cn=config" | ||
+ | SASL/EXTERNAL authentication started | ||
+ | SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth | ||
+ | SASL SSF: 0 | ||
+ | dn: olcDatabase={1}hdb,cn=config | ||
+ | objectClass: olcDatabaseConfig | ||
+ | objectClass: olcHdbConfig | ||
+ | olcDatabase: {1}hdb | ||
+ | olcDbDirectory: /var/lib/ldap | ||
+ | olcSuffix: dc=labs,dc=cs,dc=pub,dc=ro | ||
+ | [...] | ||
+ | </code> | ||
+ | |||
+ | Dacă vrem să afișăm informații legate strict de configurarea serverului LDAP (număr de thread-uri folosite, nivel de jurnalizare, certificat) vom investiga doar baza intrării ''cn=config'':<code bash> | ||
+ | root@ldap-server:~# ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b "cn=config" -s base | ||
+ | SASL/EXTERNAL authentication started | ||
+ | SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth | ||
+ | SASL SSF: 0 | ||
+ | dn: cn=config | ||
+ | objectClass: olcGlobal | ||
+ | cn: config | ||
+ | olcArgsFile: /var/run/slapd/slapd.args | ||
+ | olcLogLevel: none | ||
+ | olcPidFile: /var/run/slapd/slapd.pid | ||
+ | olcTLSCACertificateFile: /etc/ssl/certs/cacert.org_root.pem | ||
+ | olcTLSCertificateFile: /etc/ssl/certs/slapd-cert.pem | ||
+ | olcTLSCertificateKeyFile: /etc/ssl/private/slapd-key.pem | ||
+ | olcToolThreads: 1 | ||
+ | </code> | ||
+ | |||
+ | Directivele de configurare în serverul LDAP sunt atribute în intrările cu dn-uri care se termină în ''cn=config''. Atributele încep cu prefixul ''olc'' însemnând //OpenLDAP Configuration//. | ||
+ | |||
+ | Dorim să configurăm nivelul de jurnalizare al serverului LDAP. Directiva de configurare se numește ''olcLogLevel'', așa cum este documentată [[http://www.openldap.org/doc/admin24/slapdconf2.html#cn=config|aici]]. Observăm că area valoarea ''none''. Vrem să-i schimbăm valoarea la ''stats''. | ||
+ | |||
+ | Pentru aceasta construim un fișier LDIF:<file none change-log-level.ldif> | ||
+ | dn: cn=config | ||
+ | changetype: modify | ||
+ | replace: olcLogLevel | ||
+ | olcLogLevel: stats | ||
+ | </file> apoi încărcăm fișierul în baza de date LDAP:<code bash> | ||
+ | root@ldap-server:~# ldapadd -Y EXTERNAL -H ldapi:/// -f change-log-level.ldif | ||
+ | SASL/EXTERNAL authentication started | ||
+ | SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth | ||
+ | SASL SSF: 0 | ||
+ | modifying entry "cn=config" | ||
+ | </code> și verificăm faptul că a fost încărcat corespunzător:<code bash> | ||
+ | root@ldap-server:~# ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b "cn=config" -s base olcLogLevel | ||
+ | SASL/EXTERNAL authentication started | ||
+ | SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth | ||
+ | SASL SSF: 0 | ||
+ | dn: cn=config | ||
+ | olcLogLevel: stats | ||
+ | </code> | ||
+ | |||
+ | În exemplul de mai sus am creat un fișier LDIF care a modificat valoarea atributului ''olcLogLevel'' la valoarea ''stats''. Putem observa informațiile de jurnalizare generate de serverul de LDAP în fișierul ''/var/log/syslog'' de pe stația server; eventual facem niște cereri de interogare LDAP (folosind ''ldapsearch'') de pe stația client. | ||
+ | |||
+ | **Exercițiu**: Modificați nivelul de jurnalizare al serverului LDAP astfel încât să jurnalizeze și mesaje de tipul ''stats'' și mesaje de tipul ''stats2''. E ceva simplu :-) | ||
+ | |||
+ | <solution -hidden> | ||
+ | Pentru început creăm fișierul LDIF în care valoarea atributului ''olcLogLevel'' este stabilită la ''stats stats2'':<file none update-log-level.ldif> | ||
+ | dn: cn=config | ||
+ | changetype: modify | ||
+ | replace: olcLogLevel | ||
+ | olcLogLevel: stats stats2 | ||
+ | </file> după care încărcăm fișierul:<code bash> | ||
+ | root@ldap-server:~# ldapadd -Y EXTERNAL -H ldapi:/// -f update-log-level.ldif | ||
+ | SASL/EXTERNAL authentication started | ||
+ | SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth | ||
+ | SASL SSF: 0 | ||
+ | modifying entry "cn=config" | ||
+ | </code> și verificăm noua configurație:<code bash> | ||
+ | root@ldap-server:~# ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b "cn=config" -s base olcLogLevel | ||
+ | SASL/EXTERNAL authentication started | ||
+ | SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth | ||
+ | SASL SSF: 0 | ||
+ | dn: cn=config | ||
+ | olcLogLevel: stats stats2 | ||
+ | </code> | ||
+ | </solution> |