Installazione di base openldap usando la configurazione slapd.d


14

Sto cercando di configurare un server openldap di prova, non avendo mai lavorato con openldap prima. Sto usando il pacchetto standard openldap-server su una macchina basata su Redhat (usando Oracle Linux). Ho installato i pacchetti e avviato il server.

Ora non ho idea di come ottenere effettivamente il server per fare qualcosa di utile; Non riesco ad accedervi usando luma ("Nessun oggetto del genere" quando si tenta di accedere alla voce di livello superiore), i documenti openldap sono ottusi su come si ottiene effettivamente un server in una configurazione di base funzionante e tutte le informazioni online è per il vecchio file slapd.conf piuttosto per i nuovi slapd.d e cn = config.

Come faccio a far funzionare un'installazione openldap in pacchetto vanilla dove posso navigare al root dn in luma?

Risposte:


20

Condivido il tuo dolore.

Prova questo (è testato su Scientific Linux 6.5, quindi dovrebbe funzionare anche su OL):

  • Installare i server OpenLDAP: yum install openldap-servers openldap-clients)
  • inizio slapd: service slapd start(e forse chkconfig slapd on)
  • Crea password per cn=confige il tuo normale utente amministratore LDAP con slappasswd. Nota l'output di questo.
  • Creare un file LDIF con il seguente contenuto:
dn: olcDatabase = {0} config, cn = config
changetype: modifica
aggiungere: olcRootPW
olcRootPW: {SSHA} TXcmvaldskl312012cKsPK1cY2321 + aj

dn: olcDatabase = {2} bdb, cn = config
changetype: modifica
aggiungere: olcRootPW
olcRootPW: {SSHA} TXcmvaldskl312012cKsPK1cY2321 + aj
-
sostituire: olcRootDN
olcRootDN: cn = admin, dc = your, dc = base, dc = com
-
sostituire: olcSuffix
olcSuffix: dc = your, dc = base, dc = com
  • I valori per olcRootPWdovrebbero essere sostituiti con l'output del slappaswdtuo annotato in precedenza.
  • Naturalmente, olcSuffixe olcRootDNdovrebbe essere adattato al nuovo DN di base.
  • Invia tutto questo al server LDAP con il seguente comando:

    ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f yourfile.ldif

Inoltre, dovresti essere in grado di collegarti a entrambi cn=confige dc=your,dc=base,dc=comtramite LDAP.


7
Grazie, è un incubo per principianti. C'è la configurazione, ma nelle prime righe di slap.d / * - NON MODIFICARE, mentre tutto il howto / come iniziare / le guide parlano di "configurazione aperta nel tuo editor preferito"
fghj,

9

Prima di avviare il server OpenLDAP, devi prima impostare alcune cose.

Configurazione di base

Devi impostare un utente root e una password, oltre a definire il tuo DN di base. In slapd.conf, cercare le linee seguenti righe e impostate sui valori desiderati.

suffix "dc=example,dc=com"
rootdn "cn=root,dc=example,dc=com"

Di solito il tuo DN di base (definito come suffixnel file) sono i componenti del tuo nome di dominio, separati da virgole e preceduti da dc=. Quindi, serverfault.compotrebbe diventare dc=serverfault,dc=com. Devi rootdnessere sotto quel suffisso.

È inoltre necessario modificare la riga che definisce la password di root. È possibile impostarlo su un valore di testo normale o utilizzare slappasswdper creare un hash. È quindi necessario inserire il valore di testo in chiaro o il valore con hash slappasswdin una riga simile alla seguente:

rootpw myultrasecurepassword

schemi

A questo punto è una buona idea iniziare a pensare agli schemi che si desidera utilizzare. Uno schema definisce gli attributi che un oggetto può avere, quindi è necessario includere gli schemi che contengono gli attributi necessari. Questi schemi sono inclusi nella parte superiore di slapd.conf, e quelli qui sono di solito gli schemi di base assoluti di cui avrai bisogno:

include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema

Questi percorsi sono quelli utilizzati in Arch Linux, quindi potrebbe essere necessario regolarli per adattarli a Oracle Linux.

Circa slapd.confvsslapd.d

OpenLDAP è passato dalla configurazione offline (eseguita in slapd.conf) alla configurazione online, memorizzando i dati in un cn=configalbero speciale trovato in slapd.d. La modifica dei ldiffile slapd.dè tuttavia un processo doloroso, quindi è molto più semplice modificarlo slapd.confcome sopra, quindi convertirlo nel nuovo slapd.dformato.

Innanzitutto, rimuovi tutto slapd.d. Quindi, esegui il comando seguente, assicurandoti di adattare i percorsi a Oracle Linux:

slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/

Quindi imposta il proprietario sul tuo utente LDAP e raggruppa ricorsivamente su quella directory, e dovresti essere pronto per partire. Questo deve essere fatto ogni volta che modifichi slapd.conf- ricorda di fermare il server OpenLDAP prima di farlo!

Esecuzione iniziale

Prima di poter effettivamente utilizzare la directory, è necessario creare il DN di base (e l'utente root). Creare un .ldiffile contenente righe simili alle seguenti:

dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: example.com
dc: example

dn: cn=root,dc=example,dc=com
objectclass: organizationalRole
cn: root

Ora avvia il server OpenLDAP. Dobbiamo solo inserire tali informazioni nella directory LDAP:

ldapadd -D "cn=root,dc=example,dc=com" -W -f initial.ldif

Ovviamente cambia il DN radice e il nome file ldif in modo che corrispondano a quello che hai.

Ora dovresti avere una directory LDAP funzionante impostata e pronta per essere popolata!


La wiki di Arch Linux è un'ottima fonte di informazioni su questo argomento - vedi https://wiki.archlinux.org/index.php/OpenLDAP e https://wiki.archlinux.org/index.php/LDAP_Authentication se vuoi saperne di più.


La maggior parte di questo viene già eseguita dal gestore pacchetti e continuando a gestire la configurazione tramite slapd.confe slaptestmentre il server è fermo, batte lo scopo della configurazione online.
Sven

2
Perché una configurazione iniziale slapd.conffunziona bene ed è sicuramente più intuitiva della modifica slapd.ddiretta. Non so quanta parte della directory viene eseguita dal gestore dei pacchetti in Oracle Linux, ma se l'OP non è stato in grado di accedere al DN di base, non potrebbe essere sufficiente
Xenopathic

1
La risposta accettata contiene le informazioni di cui avevo bisogno, ma anche le informazioni sulla creazione degli oggetti iniziali sono state utili
thecoop
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.