OpenLDAP: Chuyển đổi tập tin phẳng (slapd.conf) sang OLC (slapd.d) Không thể truy cập cn = config


1

Tôi đang cố gắng thiết lập OpenLDAP. Tôi đã gặp sự cố với tùy chọn cấu hình OLC, vì vậy tôi đã sử dụng kiểu đầu vào kiểu slapd.conf vì tôi là một người mới hoàn toàn tại LDAP và điều đó dễ hiểu hơn.

Bây giờ tôi có nhu cầu sử dụng tùy chọn cấu hình OLC, vì vậy tôi đang cố gắng chuyển đổi. Tôi có thể chuyển đổi chính xác bằng cách sử dụng lệnh

slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
chown ldap:ldap -R /etc/openldap/slapd.d

và mọi thứ bắt đầu và hoạt động chính xác và mọi thứ đều tồi tệ. Tuy nhiên, tôi dường như không thể truy cập cn=configbằng ldapsearch. Tôi đã thử truy cập ẩn danh với:

ldapsearch -x -D -b 'cn=config' '(objectclass=*)'

trả về 32 No such object

Tôi thích bất kỳ ý tưởng nào về những gì tôi đang làm sai ở đây.

Đây là tệp slapd.conf (đã lỗi thời và đã chuyển đổi) của tôi:

include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/nis.schema

pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args

moduleload memberof.so

access to dn.base="" by * read
access to dn.base="cn=Subschema" by * read
access to dn.base="ou=users,dc=example,dc=com" filter=(objectclass=organizationalUnit)
        by dn.subtree="ou=sysusers,dc=example,dc=com" read
        by users read
access to dn.children="ou=users,dc=example,dc=com" filter=(objectclass=inetOrgPerson) attrs=uid,memberOf,entry,objectClass
        by dn.subtree="ou=sysusers,dc=example,dc=com" read
        by self write
access to dn.children="ou=users,dc=example,dc=com" filter=(objectclass=inetOrgPerson) attrs=mail,cn
        by dn.base="cn=owncloud,ou=sysusers,dc=example,dc=com" read
        by self write
access to dn.base="dc=example,dc=com"
        by users read
access to *
        by self write
        by anonymous auth

database        hdb
suffix          "dc=example,dc=com"
checkpoint      32      30
rootdn          "cn=admin,dc=example,dc=com"
rootpw          {SSHA}redactedredactedredacted
directory       /var/lib/openldap-data
index   objectClass     eq
loglevel 4

overlay memberof

database config
access to *
    by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
    by * read

Tôi hoàn toàn mới trong việc thiết lập một máy chủ ldap, rất xin lỗi nếu tôi hỏi những câu hỏi ngu ngốc.


Liệu quy tắc 'peercred' có hoạt động không? (Đó là, ldapsearch -H ldapi:// -Y EXTERNALcó quyền truy cập?) slapacl -b cn=config entry/readHiển thị gì?
grawity

ldapsearch -H lapi:// -Y EXTERNAL -x -b 'cn=config' '(objectclass=*)'trả về "ldapsearch: không tương thích với lựa chọn xác thực trước đó". slapacl -b cn=config entry/readmang lại cho tôi "slapacl: cơ sở dữ liệu mục tiêu không hỗ trợ các hoạt động cần thiết, bạn có thể thử với '-u' (chạy khô) Thêm. -uđọc truy cập vào mục: TỪ CHỐI 'mang lại cho tôi'
Hounddog

Oh tôi chỉ nhận ra rằng -x và -Y là xung đột. Xóa -x khỏi lệnh ldapsearch cho tôi, một lần nữa, "32 Không có đối tượng như vậy"
Hounddog

Quên đề cập - thực hiện tìm kiếm với quyền root (vì ACL nói uid 0).
tham lam

Yup, tất cả các lệnh đã được chạy như root.
Chó săn

Câu trả lời:


1

Khi nó bật ra, cố gắng sử dụng slaptest để tạo thư mục slapd.d của bạn khi nó đã chứa đầy những thứ không tạo ra một cái mới. Ví dụ slapd.conf của tôi được đăng ở trên không thực sự được chuyển đổi thành slapd.d.

Khi tôi xóa slapd.d và chạy mọi thứ một lần nữa, mọi thứ thật tồi tệ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.