Tôi có một miền (hãy gọi nó là dc=ví dụ,dc=tổ chức
)
Miền có một nhánh (ou=users,ou=ftp,ou=services,dc=k9999,dc=z9999,dc=infra,dc=example,dc=org
).
Có một đối tượng bảo mật đơn giản
trong miền này (uid=admin,ou=managers,ou=ftp,ou=services,dc=k9999,dc=z9999,dc=infra,dc=example,dc=org
).
tôi cần uid=admin,***
người dùng có đầy đủ (quản lý
) Truy cập vào ou=người dùng,***
chi nhánh, vì vậy tôi đã thêm vào như sau olcAccess
ghi:
đến
dn.subtree="ou=users,ou=ftp,ou=services,dc=k9999,dc=z9999,dc=infra,dc=example,dc=org"
qua
dn.exact="uid=admin,ou=managers,ou=ftp,ou=services,dc=k9999,dc=z9999,dc=infra,dc=example,dc=org"
Nó đã thêm vào bộ quy tắc mặc định:
dn: olcDatabase={1}mdb,cn=config
olcAccess: {0}đến * theo dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external
,cn=auth quản lý bằng * break
olcAccess: {1}to attrs=userPassword,shadowLastChange tự viết bởi dn="cn=a
dmin,dc=example,dc=org" viết bởi auth ẩn danh bởi * none
olcAccess: {2}đến * do tự đọc bởi dn="cn=admin,dc=example,dc=org" viết bởi
* không ai
olcAccess: {3}to dn.subtree="ou=users,ou=ftp,ou=services,dc=k9999,dc=z9999,dc=
infra,dc=example,dc=org" của dn.exact="uid=admin,ou=managers,ou=ftp,ou=servi
ces,dc=k9999,dc=z9999,dc=infra,dc=example,dc=org" quản lý
Nhưng hình như có gì đó không ổn. Khi tôi chạy ldapsearch -D uid=admin,ou=managers,ou=ftp,ou=services,dc=k9999,dc=z9999,dc=infra,dc=example,dc=org -W -b ou=users,ou=ftp, ou=services,dc=k9999,dc=z9999,dc=infra,dc=example,dc=org
, tôi nhận được kết quả như sau:
# LDIF mở rộng
#
# LDAPv3
# cơ sở <ou=users,ou=ftp,ou=services,dc=k9999,dc=z9999,dc=infra,dc=example,dc=org> với cây con phạm vi
# bộ lọc: (lớp đối tượng=*)
# yêu cầu: TẤT CẢ
#
# tìm kêt quả
tìm kiếm: 2
kết quả: 32 Không có đối tượng như vậy
# numResponses: 1
lệnh kết thúc với mã thoát 32
Đối tượng có sẵn và cn=admin,dc=example,dc=org
có thể nhìn thấy nó mà không gặp bất kỳ khó khăn nào, vì vậy có vẻ như quy tắc truy cập của tôi là sai. Nhưng chính xác nó là gì?
Có vẻ như quy tắc mặc định #2 ({2} đến * tự đọc bởi dn="cn=admin,dc=example,dc=org" viết bởi * none
) kích hoạt sớm hơn quy tắc tôi đã thêm. Điều đó có nghĩa là tôi nên luôn thêm các quy tắc tùy chỉnh của tôi trước nó?
Và tại sao quy tắc này có bởi * không
? Nó không mâu thuẫn với Tài liệu OpenLDAP?
Chính sách kiểm soát truy cập mặc định được phép đọc bởi tất cả khách hàng
Có vẻ như quy tắc số 2 (ý tôi là quy tắc này:
đến *
tự đọc
bởi dn="cn=admin,dc=example,dc=org" viết
bởi * không
) hoàn toàn không phải là "mặc định". Tôi vừa tìm thấy một phiên bản OpenLDAP khác (tôi đã triển khai nó khoảng 4 năm trước). Trường hợp này (2.4.40) hoàn toàn không có quy tắc như vậy. Có vẻ như nó chưa được thêm vào bởi chính OpenLDAP, đúng hơn là nó đã được thêm vào theo cách thủ công bởi ai đó hoặc thứ gì đó khác. Tôi có đúng không? OpenLDAP không có quy tắc như vậy theo mặc định?