ldap_modify: Yetersiz erişim (50)


9

İletişim için SSL hizmetini kullanan bir OpenLDAP 2.4 sunucusu çalıştırıyorum. Aramalar için çalışır.

Ayna modu çoğaltma eklemeye çalışıyorum.

Bu benim yürüttüğüm komut:

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

Bu benim server_id.ldif nerede:

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

ve bu, metin dosyalarının slapd.d ağacındaki cn \ = config.ldif dosyası:

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

Ama ne yazık ki bunu alıyorum:

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

Yapılandırma veritabanını belirtmeye çalışırsam bunu alıyorum:

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

Yansıtma modunun kurulumunu tamamlayabilmem için configID veritabanına nasıl serverID ekleyebileceğimi bilen var mı?

Yanıtlar:


10

Kalayda söylenen tam olarak budur. DN'nizde ağacı cn=myuser,dc=mydomain,dc=comdeğiştirmek için yeterli izin yok cn=config. "Yapılandırma veritabanını belirtmeye" çalıştığınızda cn=myuser,cn=config, görünüşe göre ya hiç bulunmayan ya da yanlış bir şifre kullandığınız tamamen farklı bir DN kullanıyorsunuz.

Bunun gibi değişiklikler yapmak için, çeşitli veritabanlarını değiştirmeye yetecek ayrıcalıklı bir hesapla çalışmanız gerekir. "Admin" hesabı, yani her zaman tüm ayrıcalıklara sahip olan hesap, öznitelikte belirtilir olcRootDNve parolasında bulunur olcRootPW. İçin cn=configveritabanında bu özellikler bulunur olcDatabase={0}config,cn=configyılında, genellikle tip HDB ve "normal" veritabanı için olcDatabase={1}hdb,cn=config.

Hangi öğreticiyi veya belgeleri takip ettiniz? Burada ne yaptığınızı tamamen anladığınız anlaşılıyor.


Hmm, zaten olcRootDN hesabını kullanıyorum. -D "cn = myuser, dc = alan_adim, dc = com" yerine "cn = Manager, dc = example, dc = com" yazıyorum ... Güvenlik amacıyla Yönetici'yi myuser ile değiştirdim. Çalışmasını bekliyordum. Ben veritabanlarından daha yüksek bir düzeyde serverID belirtmek gerektiğini düşünüyorum ... ... clap = config.ldif, olcDatabase \ = \ {1 \} içinde olmasını beklediğiniz slapd temel yapılandırmasında hdb.ldif burada olcRootDN'yi bulur.
Lynn Owens

Eğer o zaman yapılandırılan yönetici kullanıcı kullanmıyorsunuz "yetersiz erişim" alırsanız olcRootDNve olcRootPW. Bu kullanıcı tanım gereği her şeye her zaman erişebilir. Yine, farklı veritabanlarının farklı yönetici kullanıcılarına sahip olduğunu unutmayın. İçin cn=configağacın altında belirtilen birini kullanın olcDatabase={0}config,cn=config. Ve hayır, olcServerIDözellikler DN'ye ait cn=config. Benim de onlara sahip olduğum yer burası.
daff

Teşekkürler Daff, hepsi bu. Ben yapılandırma veritabanının {0} veritabanı olduğu gerçeğinden habersizdim. Gerçekten orada bir yönetici kullanıcı vardı. Bir şifre verdim ve değişikliklerim sorunsuz geçti. :)
Lynn Owens

Ldap'ı hızlı bir şekilde tanımak için hangi Öğretici veya Belgeleri önereceğinizi bilmek isterim. Çünkü benim ne yaptığımı kesinlikle
The Lazy Coder

1
@TheLazyCoder Resmi belgeler kapsamlı ancak acemiler için çok erişilebilir değil. Ubuntu OpenLDAP dokümanlar zamanla daha iyi aldık ve bir acemi için yeterince iyi olabilir. Bunun dışında, Matt Butcher'ın Packt tarafından yayınlanan “Mastering OpenLDAP” adlı kitabından biraz öğrendim. Şimdi biraz tarihli olsa bile oradan başlamak isteyebilirsiniz.
daff

7

Oldukça benzer bir sorun yaşadım, nergis ilginç bir çözüm denedim ama boşuna. Lynn Owens'ın aksine, yöneticiye şifre ekleyemedim olcDatabase={0}config,cn=config. Sonunda benim cn=configgibi komutları değiştirmek için başardı :

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

Bu, özellikle "-Y EXTERNAL -H ldapi: ///" çalışır, çünkü başlangıçta oluşturulan cn = admin, dc = ... bu alt düzey değişiklikleri yapmak için erişime sahip değildir.
naisanza

2
Bu ilk denemede işe yaramazsa, hatırlayın sudoarkadaşınız
ratskin
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.