Tôi đang cố gắng làm theo hướng dẫn này để thiết lập máy chủ LDAD cơ bản (OpenLDAP) để xác thực khóa, nhưng tôi bị kẹt ở bước tôi thêm cấu hình back-end.
Tôi đã tạo tệp backend.ldif của mình như được chỉ định và tôi đang cố gắng thêm nó bằng:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif
Nhưng tôi nhận được:
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 đầy đủ là:
#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
Bất kỳ đề xuất về cách khắc phục sự cố? Tôi không biết gì về máy chủ LDAP đây là lần đầu tiên của tôi.
CẬP NHẬT:
Tôi đã bắt đầu lại với bản cài đặt hoàn toàn mới của Máy chủ 11.04.
Tôi đã làm như sau:
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
Tôi cố gắng tải lược đồ đầu tiên:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
Tôi có:
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"
Tôi đã thử lệnh được đề xuất dưới đây:
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
Nhưng lần này nó không phàn nàn về một mô-đun, nó phàn nàn về "Loại thuộc tính trùng lặp".
Vì vậy, tôi cần một lệnh có nội dung "hiển thị các loại thuộc tính được tải" để xem "cosine" đã có trong danh sách chưa?
OK, tôi sẽ giả sử rằng:
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
là không cần thiết vì tất cả các sản phẩm cùng một lỗi.
Vì vậy, tôi chuyển sang thêm ~ / backend.ldif. Tôi đã loại bỏ các dòng chế độ tải từ trên xuống, vì mô-đun dường như đã được tải.
Bây giờ khi tôi cố gắng thêm:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif
Tôi có:
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
Điều này vô nghĩa vì đây là cơ sở dữ liệu duy nhất trên máy tính và đây là mục đầu tiên tôi thêm vào.