ldap_modify: Akses tidak mencukupi (50)

9

Saya menjalankan server OpenLDAP 2.4 yang menggunakan layanan SSL untuk komunikasi. Ini berfungsi untuk pencarian.

Saya mencoba menambahkan replikasi mode cermin.

Jadi ini adalah perintah yang saya jalankan:

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

Di mana ini adalah server_id.ldif saya:

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

dan ini adalah cn \ = config.ldif di pohon slapd.d file teks:

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

Tapi sayangnya saya mendapatkan ini:

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

Jika saya mencoba menentukan database konfigurasi saya mendapatkan ini:

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

Adakah yang tahu bagaimana saya bisa menambahkan serverID ke database konfigurasi sehingga saya bisa menyelesaikan pengaturan mode mirror?

Lynn Owens
sumber

Jawaban:

10

Persis seperti yang tertulis di kaleng. DN cn=myuser,dc=mydomain,dc=comAnda tidak memiliki cukup izin untuk memodifikasi struktur cn=configpohon. Dan ketika Anda mencoba "untuk menentukan database konfigurasi" Anda menggunakan DN yang sama sekali berbeda cn=myuser,cn=config, yang tampaknya tidak ada atau Anda menggunakan kata sandi yang salah.

Untuk melakukan modifikasi seperti ini, Anda perlu bekerja dengan akun yang cukup istimewa untuk memodifikasi berbagai database. Akun "admin", yaitu akun yang selalu memiliki semua hak istimewa, ditentukan dalam atribut olcRootDNdan kata sandinya ditemukan di olcRootPW. Untuk cn=configdatabase, atribut-atribut tersebut ditemukan di olcDatabase={0}config,cn=configdan untuk database "biasa", biasanya bertipe HDB, di olcDatabase={1}hdb,cn=config.

Tutorial atau dokumentasi mana yang Anda ikuti? Sepertinya Anda tidak sepenuhnya mengerti apa yang Anda lakukan di sini.

Daff
sumber
Hmm, saya sudah menggunakan akun olcRootDN. -D "cn = myuser, dc = mydomain, dc = com" adalah pengganti "cn = Manager, dc = contoh, dc = com" ... Saya mengganti Manager dengan myuser untuk tujuan keamanan. Saya berharap itu bekerja. Saya pikir saya perlu menentukan serverID pada level yang lebih tinggi dari database, ... pada konfigurasi dasar slapd itu sendiri, yang saya harapkan ada di cn = config.ldif, bukan di olcDatabase \ = \ {1 \} hdb.ldif di mana orang menemukan olcRootDN.
Lynn Owens
Jika Anda mendapatkan "akses tidak memadai" maka Anda tidak menggunakan pengguna admin yang dikonfigurasi dalam olcRootDNdan olcRootPW. Pengguna itu selalu memiliki akses ke segalanya, menurut definisi. Sekali lagi, maklumi bahwa database yang berbeda memiliki pengguna admin yang berbeda. Untuk cn=configpohon gunakan yang ditentukan di bawah olcDatabase={0}config,cn=config. Dan tidak, olcServerIDatribut memang termasuk dalam cn=configDN. Itu tempat saya memilikinya juga.
daff
Terima kasih Daff, itu dia. Saya tidak tahu fakta bahwa database konfigurasi adalah database {0}. Memang ada pengguna admin di sana. Saya memberikannya kata sandi dan modifikasi saya berjalan tanpa masalah. :)
Lynn Owens
Saya akan tertarik untuk mengetahui Tutorial atau Dokumentasi apa yang akan Anda rekomendasikan agar cepat terbiasa dengan ldap. Karena jelas bagi saya bahwa saya sama sekali tidak tahu apa yang saya lakukan ..
The Lazy Coder
1
@TheLazyCoder Dokumentasi resmi bersifat komprehensif tetapi tidak dapat diakses oleh pemula. The Ubuntu OpenLDAP docs mendapatkan yang lebih baik dari waktu ke waktu dan mungkin cukup baik untuk pemula. Selain itu saya telah belajar banyak dari buku Matt Butcher "Mastering OpenLDAP", yang diterbitkan oleh Packt. Anda mungkin ingin memulai dari sana, walaupun sekarang sudah agak kuno.
Daff
7

Karena saya mempunyai masalah yang sangat mirip, saya mencoba solusi menarik tetapi tidak berhasil. Berlawanan dengan Lynn Owens, saya gagal menambahkan kata sandi ke admin di olcDatabase={0}config,cn=config. Saya akhirnya berhasil memodifikasi cn=configperintah saya menggunakan seperti:

ldapmodify -Y EXTERNAL -H ldapi:/// -f somefile.ldif
phep
sumber
Ini berfungsi, khususnya "-Y EXTERNAL -H ldapi: ///", karena cn = admin, dc = ... yang dibuat pada awalnya tidak memiliki akses untuk membuat modifikasi tingkat yang lebih rendah ini.
naisanza
1
Jika ini tidak berhasil pada percobaan pertama, ingatlah sudoadalah teman Anda
ratskin