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> | ||