Saya mencoba mengikuti tutorial ini untuk menyiapkan server LDAD dasar (OpenLDAP) untuk autentikasi cleint, tetapi saya terjebak pada langkah di mana saya menambahkan konfigurasi back-end.
Saya telah membuat file backend.ldif saya seperti yang ditentukan, dan saya mencoba menambahkannya dengan:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif
Tapi saya mendapatkan:
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=module,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
additional info: <olcModuleLoad> handler exited with 1
LDIF lengkap adalah:
#Load dynamic backend modules
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb
# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=mydomain,dc=us
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=mydomain,dc=us
olcRootPW: dmx512
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword by dn="cn=admin,dc=mydomain,dc=us" write by anonymous auth by self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=mydomain,dc=us" write by * read
Ada saran tentang cara mengatasi masalah? Saya tidak tahu apa-apa tentang server LDAP ini yang pertama saya.
MEMPERBARUI:
Saya sudah mulai dengan instalasi baru 11.04 Server.
Saya telah melakukan yang berikut:
hostname ldap.mycompany.com
nano /etc/hosts (set to ldap.mycompany.com)
nano /etc/hostname (set to ldap.mycompany.com)
sudo apt-get install slapd ldap-utils
Saya mencoba memuat skema pertama:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
Saya mendapat:
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=cosine,cn=schema,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
additional info: olcAttributeTypes: Duplicate attributeType: "0.9.2342.19200300.100.1.2"
Saya mencoba perintah yang disarankan di bawah ini:
root@ldap:~# cat /etc/ldap/slapd.d/cn\=config/cn\=module\{0\}.ldif
dn: cn=module{0}
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_hdb
structuralObjectClass: olcModuleList
entryUUID: 3bedbe64-e4b2-1030-832a-17900c7b3644
creatorsName: cn=config
createTimestamp: 20120206020131Z
entryCSN: 20120206020131.785958Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20120206020131Z
Tapi ini tidak membahas tentang modul kali ini, itu mengeluh tentang "Duplicate attributeType".
Jadi saya perlu perintah yang mengatakan "tampilkan tipe atribut yang dimuat" untuk melihat apakah "cosine" sudah ada dalam daftar?
OK, saya akan berasumsi bahwa:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
tidak perlu karena mereka semua produk kesalahan yang sama.
Jadi saya pindah ke menambahkan ~ / backend.ldif. Saya menghapus baris modeule beban dari atas, karena modul tampaknya sudah dimuat.
Sekarang ketika saya mencoba menambahkan:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif
Saya mendapat:
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "olcDatabase=hdb,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
additional info: <olcSuffix> namingContext "dc=mycompany,dc=us" already served by a preceding hdb database
Yang tidak masuk akal karena ini adalah satu-satunya basis data di komputer, dan ini adalah entri pertama yang saya tambahkan.