<Precedenti | Contenuti | Succ.>
1.4. Modifica del database di configurazione slapd
È anche possibile interrogare e modificare il DIT slapd-config. Ecco alcuni esempi.
• Utilizza ldapmodify per aggiungere un "Indice" (attributo DbIndex) al tuo database {1}mdb,cn=config (dc=example,dc=com). Crea un file, chiamalo uid_index.ldif, con i seguenti contenuti:
dn: olcDatabase={1}mdb,cn=config aggiungi: olcDbIndex
olcDbIndex: mail eq,sub
Quindi dai il comando:
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f uid_index.ldif
modifica voce "olcDatabase={1}mdb,cn=config"
Puoi confermare la modifica in questo modo:
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b \ cn=config '(olcDatabase={1}mdb)' olcDbIndex
dn: olcDatabase={1}mdb,cn=config olcDbIndex: objectClass eq olcDbIndex: cn,uid eq
olcDbIndex: uidNumber,gidNumber eq olcDbIndex: membro,memberUid eq olcDbIndex: mail eq,sub
• Aggiungiamo uno schema. Dovrà prima essere convertito nel formato LDIF. Puoi trovare schemi non convertiti oltre a quelli convertiti nel file /etc/ldap/schema directory.
• Non è banale rimuovere uno schema dal database slapd-config. Esercitati ad aggiungere schemi su un sistema di test.
• Prima di aggiungere qualsiasi schema, è necessario verificare quali schemi sono già installati (mostrato è un output predefinito e pronto all'uso):
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b \ cn=schema,cn=config dn
dn: cn=schema,cn=config
dn: cn={0}core,cn=schema,cn=config
dn: cn={1}coseno,cn=schema,cn=config
dn: cn={2}nis,cn=schema,cn=config
dn: cn={3}inetorgperson,cn=schema,cn=config
Nell'esempio seguente aggiungeremo lo schema CORBA.
1. Creare il file di configurazione della conversione schema_convert.conf contenente le seguenti righe:
include /etc/ldap/schema/core.schema include /etc/ldap/schema/collective.schema include /etc/ldap/schema/corba.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/ schema/duaconf.schema include /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/java.schema
include /etc/ldap/schema/misc.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/openldap.schema include /etc/ldap/schema/ppolicy.schema include /etc/ldap/ schema/ldapns.schema include /etc/ldap/schema/pmi.schema
2. Creare la directory di output ldif_output.
3. Determinare l'indice dello schema:
slapcat -f schema_convert.conf -F ldif_output -n 0 | grep corba,cn=schema
cn={2}corba,cn=schema,cn=config
Quando slapd acquisisce oggetti con lo stesso DN principale, creerà un file Index per quell'oggetto. Un indice è contenuto tra parentesi graffe: {X}.
4. Usa slapcat per eseguire la conversione:
slapcat -f schema_convert.conf -F ldif_output -n0 -H \ ldap:///cn={2}corba,cn=schema,cn=config -l cn=corba.ldif
Lo schema convertito è ora disponibile cn=corba.ldif
5. modificare cn=corba.ldif per arrivare ai seguenti attributi:
dn: cn=corba,cn=schema,cn=config
...
cn: corba
Rimuovi anche le seguenti righe dal basso:
structuralObjectClass: olcSchemaConfig entryUUID: 52109a02-66ab-1030-8be2-bbf166230478
nomecreatori: cn=config createTimestamp: 20110829165435Z
voceCSN: 20110829165435.935248Z#000000#000#000000
modifiersName: cn=config editTimestamp: 20110829165435Z
I valori degli attributi varieranno.
6. Infine, utilizza ldapadd per aggiungere il nuovo schema al DIT slapd-config:
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f cn\=corba.ldif
aggiunta nuova voce "cn=corba,cn=schema,cn=config"
7. Conferma gli schemi attualmente caricati:
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=schema,cn=config dn
dn: cn=schema,cn=config
dn: cn={0}core,cn=schema,cn=config
dn: cn={1}coseno,cn=schema,cn=config
dn: cn={2}nis,cn=schema,cn=config
dn: cn={3}inetorgperson,cn=schema,cn=config
dn: cn={4}corba,cn=schema,cn=config
Affinché le applicazioni e i client esterni possano autenticarsi utilizzando LDAP, ciascuno di essi dovrà essere configurato specificatamente per farlo. Per i dettagli fare riferimento alla documentazione lato client appropriata.