Điểm:1

Cho phép người dùng openldap thay đổi mật khẩu bằng passwd bằng centos, tôi đã phá vỡ nó

lá cờ in

Đã 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"
Điểm:1
lá cờ dk

Trong dn: olcDatabase={2}hdb,cn=config bạn chỉ định quy tắc nào cần thay thế/thêm. Hệ thống của tôi có các quy tắc truy cập mật khẩu trong dn: olcDatabase={-1}giao diện người dùng.

Đảm bảo nhắm mục tiêu đúng quy tắc.

lá cờ in
Vậy điều này có nghĩa là tôi thay thế dòng dn: trong ldiff đó bằng : `dn: olcDatabase={-1}frontend` ?
Jari Turkia avatar
lá cờ dk
Nếu bạn đã sẵn sàng khôi phục lại LDAP của mình, đó là điều tôi đang đề xuất.Di chuyển thông minh sẽ là xem qua `/etc/openldap/slapd.d/cn=config` và xem các quy tắc của bạn hiện đang ở đâu, sau đó đưa ra lựa chọn thay đổi tệp đó.
lá cờ in
Ồ, tôi bối rối, tôi đã phá vỡ ldap bằng lệnh trên của mình nhưng để khôi phục lại, tôi chỉ cần truy cập vào một bản chụp VM Snap của nó từ trước khi tôi thực hiện lệnh để ldap hoạt động, tôi vẫn không thể sử dụng chức năng passwd...nó cung cấp các lỗi trên. Vì vậy, dòng đó tôi đã thử mà tôi nghĩ sẽ làm cho nó hoạt động..không được. Tôi sẽ tìm trong tệp cn=config Tôi chưa động đến nó nhiều.
Jari Turkia avatar
lá cờ dk
Vâng. Các hệ thống là khác nhau, do đó, phần quan trọng sẽ là xem bạn có phần cấu hình nào trong `/etc/openldap/slapd.d/cn=config` và phần nào trong số chúng có cài đặt quyền và/hoặc mật khẩu.
lá cờ in
Được rồi, tôi đang ở trong thư mục clapd.d/cn=config, tôi thấy các tệp ldif. Một là olcDatabase={-1}frontend.ldif, nhưng nếu tôi xem tệp đó thì không có thông tin gì về mật khẩu. Ngoài ra còn có một thư mục cn=schema với nhiều tệp ldif hơn trong đó thấp hơn một cấp. Cái này dành cho máy centos7
Jari Turkia avatar
lá cờ dk
Tệp `cn=schema` sẽ chứa các định nghĩa cho dữ liệu được lưu trữ trong LDAP của bạn và trong trường hợp này là không liên quan. Bây giờ, bạn cần xác định tệp nào chứa quy tắc truy cập và nhắm mục tiêu các thay đổi của bạn theo hướng đó.
lá cờ in
Đã cập nhật mục nhập, tôi có thể làm cho nó thêm một quy tắc từ ldif chứ không phải quy tắc khác mà không có lỗi.
Jari Turkia avatar
lá cờ dk
Bạn có thể chỉnh sửa tệp cấu hình tìm thấy bằng trình soạn thảo văn bản. Khởi động lại tát để thay đổi có hiệu lực.
lá cờ in
Ôi chao, tôi không biết mình có thể chỉnh sửa trực tiếp (Đã nói là không) nhưng chắc chắn là đã thêm phần này: olcAccess: {1}to * by self write by dn.base="cn=ldapadm,dc=unixguide,dc=net " viết bởi * đọc đã làm mọi thứ hoạt động! Cảm ơn bạn!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.