ldap_modify: accesso insufficiente (50)


9

Sto eseguendo un server OpenLDAP 2.4 che utilizza il servizio SSL per la comunicazione. Funziona per le ricerche.

Sto cercando di aggiungere la replica in modalità mirror.

Quindi questo è il comando che sto eseguendo:

ldapmodify -D "cn=myuser,dc=mydomain,dc=com" -H ldaps://myloadbalancer -W -f /etc/ldap/ldif/server_id.ldif

Dove si trova il mio server_id.ldif:

dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 1 myserver1
olcServerID: 2 myserver2

e questo è il mio cn \ = config.ldif nell'albero dei file di testo slapd.d:

dn: cn=config
objectClass: olcGlobal
cn: config
olcArgsFile: /var/run/slapd/slapd.args
olcPidFile: /var/run/slapd/slapd.pid
olcToolThreads: 1
structuralObjectClass: olcGlobal
entryUUID: ff9689de-c61d-1031-880b-c3eb45d66183
creatorsName: cn=config
createTimestamp: 20121118224947Z
olcLogLevel: stats
olcTLSCertificateFile: /etc/ldap/certs/ldapscert.pem
olcTLSCertificateKeyFile: /etc/ldap/certs/ldapskey.pem
olcTLSCACertificateFile: /etc/ldap/certs/ldapscert.pem
olcTLSVerifyClient: never
entryCSN: 20121119022009.770692Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20121119022009Z

Ma sfortunatamente sto ottenendo questo:

Enter LDAP Password: 
modifying entry "cn=config"
ldap_modify: Insufficient access (50)

Se provo a specificare il database di configurazione ottengo questo:

ldapmodify -H 'ldaps://myloadbalancer/cn=config' -D "cn=myuser,cn=config" -W -f ./server_id.ldif 
Enter LDAP Password: 
ldap_bind: Invalid credentials (49)}

Qualcuno sa come posso aggiungere il serverID al database di configurazione in modo da poter completare l'installazione della modalità mirror?

Risposte:


10

È esattamente ciò che si dice sulla scatola. Il DN cn=myuser,dc=mydomain,dc=comnon dispone di autorizzazioni sufficienti per modificare l' cn=configalbero. E quando stai provando "a specificare il database di configurazione" stai usando un DN completamente diverso cn=myuser,cn=config, che apparentemente o non esiste o stai usando una password sbagliata.

Per apportare modifiche come queste è necessario lavorare con un account sufficientemente privilegiato per modificare i vari database. L'account "admin", ovvero l'unico account che ha sempre tutti i privilegi, è specificato nell'attributo olcRootDNe la sua password si trova in olcRootPW. Per il cn=configdatabase tali attributi si trovano nel olcDatabase={0}config,cn=confige per il database "normale", di solito di tipo HDB, in olcDatabase={1}hdb,cn=config.

Quale tutorial o documentazione hai seguito? Non sembra che tu capisca completamente cosa stai facendo qui.


Hmm, sto già usando l'account olcRootDN. -D "cn = myuser, dc = mydomain, dc = com" è la mia sostituzione di "cn = Manager, dc = esempio, dc = com" ... Ho sostituito Manager con myuser per motivi di sicurezza. Mi aspettavo che funzionasse. Penso che dovrei specificare serverID a un livello superiore rispetto ai database, ... alla configurazione base di slapd stesso, che mi aspetterei di essere in cn = config.ldif, non in olcDatabase \ = \ {1 \} hdb.ldif dove si trova olcRootDN.
Lynn Owens,

Se ottieni "accesso insufficiente", non stai utilizzando l'utente amministratore configurato in olcRootDNe olcRootPW. Quell'utente ha sempre accesso a tutto, per definizione. Ancora una volta, tieni presente che i diversi database hanno utenti admin diversi. Per l' cn=configalbero utilizzare quello specificato sotto olcDatabase={0}config,cn=config. E no, gli olcServerIDattributi fanno appartengono al cn=configDN. È dove li ho anche io.
daff,

Grazie Daff, ecco. Ignoravo il fatto che il database di configurazione fosse il database {0}. C'era davvero un utente amministratore lì dentro. Gli ho dato una password e le mie modifiche sono passate senza problemi. :)
Lynn Owens il

Sarei interessato a sapere quale tutorial o documentazione consiglieresti di familiarizzare rapidamente con ldap. Perché è chiaro per me che non ho assolutamente idea di cosa sto facendo ..
The Lazy Coder

1
@TheLazyCoder La documentazione ufficiale è completa ma non molto accessibile ai principianti. I documenti Ubuntu OpenLDAP sono migliorati nel tempo e potrebbero essere abbastanza buoni per un principiante. A parte questo, ho imparato molto dal libro di Matt Butcher "Mastering OpenLDAP", pubblicato da Packt. Potresti iniziare da lì, anche se ora è un po 'datato.
daff,

7

Dato che avevo un problema abbastanza simile, ho provato a trovare una soluzione interessante ma senza risultati. Contrariamente a Lynn Owens, non sono riuscito ad aggiungere una password all'amministratore olcDatabase={0}config,cn=config. Finalmente sono riuscito a modificare i miei cn=configcomandi usando come:

ldapmodify -Y EXTERNAL -H ldapi:/// -f somefile.ldif

Questo funziona, in particolare "-Y EXTERNAL -H ldapi: ///", perché cn = admin, dc = ... creato inizialmente non ha accesso per apportare queste modifiche di livello inferiore.
naisanza,

1
Se non funziona al primo tentativo, ricorda che sudoè il tuo amico
ratskin,
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.