Đã thử làm những điều trên với hướng dẫn này:
https://www.unixguide.net/content/openldap-allow-users-change-their-password-unix-passwd-command
Vì vậy, tôi đã tạo ldif này:
dn: olcDatabase={2}hdb,cn=config
changetype: sửa đổi
thêm: olcAccess
olcAccess: tới attrs=userPassword do tự viết bởi auth ẩn danh bởi dn.base="cn=ldapadm,dc=bbb,dc=local" viết bởi * none
thêm: olcAccess
olcAccess: để * tự viết bởi dn.base="cn=ldapadm,dc=bbb,dc=local" viết bởi * đọc
Chạy ldapmodify, bây giờ không người dùng nào có thể đăng nhập vào bất kỳ ứng dụng khách nào bằng mật khẩu của họ khi họ có thể trước khi tôi chạy sửa đổi ở trên.
hiện đang cố gắng đăng nhập cho biết quyền bị từ chối sau khi nhập đúng mật khẩu .... tôi đã vi phạm điều gì ?? (hoàn toàn mới đối với openldap)
Và vì nó có thể liên quan nên đây là cách tôi kết nối khách hàng của mình với máy chủ openldap của mình:
cài đặt yum -y openldap-clients nss-pam-ldapd
authconfig --enableldap --enableldapauth --ldapserver=192.168.1.10 --ldapbasingn="dc=bbb,dc=local" --enablemkhomedir --update
Ngay lập tức, nếu tôi gõ passwd trên một người dùng ldap...kết quả sẽ xảy ra:
[ldapuser@sdss5-db ~]$ passwd
Thay đổi mật khẩu cho người dùng ldapuser.
(hiện tại) Mật khẩu LDAP:
Mật khẩu mới:
Gõ lại mật khẩu mới:
thay đổi mật khẩu không thành công: Không đủ quyền truy cập
passwd: Lỗi thao tác mã thông báo xác thực
Mặc dù một lần nữa, tệp ldif ở trên với olcAccess đã bị hỏng, ldap của tôi không làm cho bất kỳ thứ gì hoạt động (phải hoàn nguyên VM về trước khi tôi chạy lệnh đó.. chủ yếu là vì tôi mới sử dụng ldap và không biết cách xóa các mục, v.v. )
Đây là tất cả các tệp cn=config của tôi:
olcDatabase={-1}frontend.ldif
# TỆP TẠO TỰ ĐỘNG - KHÔNG CHỈNH SỬA!! Sử dụng ldapmodify.
# CRC32 daf543d1
dn: olcDatabase={-1}giao diện người dùng
đối tượngClass: olcDatabaseConfig
objectClass: olcFrontendConfig
olcDatabase: {-1}giao diện người dùng
trúcObjectClass: olcDatabaseConfig
mục nhậpUUID: 1244881e-5cf7-103b-94a5-5f5943b4315f
tên người sáng tạo: cn=config
tạoDấu thời gian: 20210608224613Z
mục nhậpCSN: 20210608224613.408737Z#000000#000#000000
modifiersName: cn=config
sửa đổiDấu thời gian: 20210608224613Z
olcDatabase={0}config.ldif
# TỆP TẠO TỰ ĐỘNG - KHÔNG CHỈNH SỬA!! Sử dụng ldapmodify.
# CRC32 54d58ed2
dn: olcDatabase={0}config
đối tượngClass: olcDatabaseConfig
olcDatabase: {0}config
olcAccess: {0}đến * theo dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
al,cn=auth" do * none quản lý
trúcObjectClass: olcDatabaseConfig
mục nhậpUUID: 12448a9e-5cf7-103b-94a6-5f5943b4315f
tên người sáng tạo: cn=config
tạoDấu thời gian: 20210608224613Z
mụcCSN: 20210608224613.408801Z#000000#000#000000
modifiersName: cn=config
sửa đổiDấu thời gian: 20210608224613Z
olcDatabase={1}monitor.ldif
# TỆP TẠO TỰ ĐỘNG - KHÔNG CHỈNH SỬA!! Sử dụng ldapmodify.
# CRC32 3165478b
dn: olcDatabase={1}màn hình
đối tượngClass: olcDatabaseConfig
olcDatabase: {1}giám sát
trúcObjectClass: olcDatabaseConfig
mục nhậpUUID: 12448d32-5cf7-103b-94a7-5f5943b4315f
tên người sáng tạo: cn=config
tạoDấu thời gian: 20210608224613Z
olcAccess: {0}đến * theo dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
al, cn=auth" được đọc bởi dn.base="cn=ldapadm,dc=bbb,dc=local" được đọc bởi * none
mụcCSN: 20210608225001.645649Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
sửa đổiDấu thời gian: 20210608225001Z
olcDatabase={2}hdb.ldif
# TỆP TẠO TỰ ĐỘNG - KHÔNG CHỈNH SỬA!! Sử dụng ldapmodify.
# CRC32 89413e34
dn: olcDatabase={2}hdb
đối tượngClass: olcDatabaseConfig
đối tượngClass: olcHdbConfig
olcDatabase: {2}hdb
olcDbThư mục: /var/lib/ldap
olcDbIndex: objectClass eq,pres
olcDbIndex: ou,cn,mail,họ,tên riêng eq,pres,sub
cấu trúcObjectClass: olcHdbConfig
mục nhậpUUID: 1244907a-5cf7-103b-94a8-5f5943b4315f
tên người sáng tạo: cn=config
tạoDấu thời gian: 20210608224613Z
olcSuffix: dc=bbb,dc=local
olcRootDN: cn=ldapadm,dc=bbb,dc=cục bộ
olcRootPW:: e1NTSEF9QTB0dS94UjR6cy83ZEMvQUxPL21uS2RLaXZUeFNXVEg=
olcAccess: {0}to attrs=userPassword tự viết bởi auth ẩn danh bởi dn.ba
se="cn=ldapadm,dc=bbb,dc=local" viết bởi * none
mục nhậpCSN: 20210702202550.687485Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
sửa đổiDấu thời gian: 20210702202550Z
Có vẻ như nó không viết phần thứ hai của:
thêm: olcAccess
olcAccess: để * tự viết bởi dn.base="cn=ldapadm,dc=unixguide,dc=net" viết bởi * đọc
Đối với olcDatabase={2}hdb.ldif , theo ví dụ, nó có olcAccess: {1}tới * tự viết bởi dn.base="cn=ldapadm,dc=unixguide,dc=net" viết bởi * đọc
Tôi đoán đây là những gì không hoạt động và làm mất khả năng đăng nhập sau khi tôi chạy lệnh. Tôi không chắc tại sao nó không hiển thị mặc dù tôi không gặp lỗi khi chạy lệnh sửa đổi với ldif của tôi được đăng ở trên...
Kết quả từ việc sửa đổi ldap là:
[root@openldapserver ~]# ldapmodify -Y EXTERNAL -H ldapi:/// -f passwordaccess.ldif
Đã bắt đầu xác thực SASL/BÊN NGOÀI
Tên người dùng SASL: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
sửa đổi mục nhập "olcDatabase={2}hdb,cn=config"