Score:0

openldap เหตุใดฉันจึงไม่สามารถระบุรหัสบัญชีผู้ใช้ได้

ธง cf

ฉันทำตามคู่มือ openldap นี้

https://kifarunix.com/install-and-setup-openldap-on-rocky-linux-8/

ทำทุกอย่างจนกว่าฉันจะพยายามระบุผู้ใช้บนไคลเอนต์ (ทำตามคำแนะนำนี้: https://kifarunix.com/configure-sssd-for-ldap-authentication-on-rocky-linux-8/)

ฉันได้รับข้อความแจ้งว่า "ไม่มีผู้ใช้ดังกล่าว"

บทช่วยสอน openldap แสดงรายการ objectClass สำหรับ users.ldif

dn: uid=johndoe,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com
objectClass: inetOrgPerson
objectClass: posixบัญชี
objectClass: shadowAccount

และฉันสังเกตเห็นว่าเว็บไซต์อื่นๆ ใช้

objectClass: บัญชี

(ดู: https://www.thegeekstuff.com/2015/02/openldap-add-users-groups/ & https://forums.centos.org/viewtopic.php?t=54808)

ฉันได้ลองทั้งสองวิธีแล้ว (และพยายามรวมทั้งทั้งสองอย่างด้วย)

ฉันสามารถทำ ldapsearch จากไคลเอนต์ไปยังเซิร์ฟเวอร์และค้นหาใน objectClass ใดๆ เหล่านั้นได้

ฉันไม่แน่ใจว่าฉันพลาดอะไรไป

ฉันตรวจสอบ nsswitch.conf และมั่นใจว่า sss อยู่ก่อนไฟล์สำหรับ passwd

de flag
ตรวจสอบว่าผู้ใช้ได้รับอนุญาตใน */etc/security/access.conf*
Score:0
ธง cf

ฉันทำการทดสอบขั้นพื้นฐานและปิดใช้งาน TLS

ปัญหาของฉันน่าจะอยู่ใน SSSD.conf และไม่มี objectClass ที่ถูกต้องรวมถึง DN, CN และ OU ที่ตรงกัน

เซิร์ฟเวอร์

#https://www.server-world.info/th/note?os=CentOS_7&p=openldap
yum -y ติดตั้ง openldap-servers openldap-clients firewalld mlocate man --nobest
อัพเดทb
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG 
ชวน ldap. /var/lib/ldap/DB_CONFIG 
systemctl เริ่มตบ 
systemctl เปิดใช้งานการตบ
แมว <<EOF > chrootpw.ldif 
# ระบุรหัสผ่านที่สร้างขึ้นด้านบนสำหรับส่วน "olcRootPW"
dn: olcDatabase={0}config,cn=config
ประเภทการเปลี่ยนแปลง: แก้ไข
เพิ่ม: olcRootPW
olcRootPW: 1234
อฟ
ldapadd -Y ภายนอก -H ldapi:/// -f chrootpw.ldif 
ldapadd -Y ภายนอก -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y ภายนอก -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y ภายนอก -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
แมว <<EOF > chdomain.ldif
dn: olcDatabase={1}มอนิเตอร์,cn=config
ประเภทการเปลี่ยนแปลง: แก้ไข
แทนที่: olcAccess
olcAccess: {0}ถึง * โดย dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
  อ่านโดย dn.base="cn=Manager,dc=srv,dc=world" อ่านโดย * ไม่มี

dn: olcDatabase={2}mdb,cn=config
ประเภทการเปลี่ยนแปลง: แก้ไข
แทนที่: olcSuffix
olcSuffix: dc=srv,dc=world

dn: olcDatabase={2}mdb,cn=config
ประเภทการเปลี่ยนแปลง: แก้ไข
แทนที่: olcRootDN
olcRootDN: cn=ผู้จัดการ,dc=srv,dc=โลก

dn: olcDatabase={2}mdb,cn=config
ประเภทการเปลี่ยนแปลง: แก้ไข
เพิ่ม: olcRootPW
olcRootPW: 1234

dn: olcDatabase={2}mdb,cn=config
ประเภทการเปลี่ยนแปลง: แก้ไข
เพิ่ม: olcAccess
olcAccess: {0}ถึง attrs=userPassword,shadowLastChange โดย
  dn="cn=Manager,dc=srv,dc=world" เขียนโดยผู้ไม่ระบุชื่อ รับรองความถูกต้องด้วยตนเอง เขียนโดย * ไม่มี
olcAccess: {1}ถึง dn.base="" โดย * อ่าน
olcAccess: {2}ถึง * โดย dn="cn=Manager,dc=srv,dc=world" เขียนโดย * อ่าน
อฟ
ldapmodify -Y ภายนอก -H ldapi:/// -f chdomain.ldif
cat <<EOF > basedomain.ldif
# เปลี่ยนเป็นชื่อโดเมนของคุณเองสำหรับส่วน "dc=***,dc=***"

dn: dc=srv,dc=โลก
objectClass: ด้านบน
objectClass:dcObject
วัตถุคลาส: องค์กร
o: เซิฟเวอร์เวิลด์
dc: Srv

dn: cn=ผู้จัดการ,dc=srv,dc=โลก
objectClass: บทบาทขององค์กร
cn: ผู้จัดการ
คำอธิบาย: ตัวจัดการไดเร็กทอรี

dn: ou=ผู้ใช้,dc=srv,dc=โลก
objectClass: หน่วยขององค์กร
objectClass: ด้านบน
คุณ: ผู้ใช้

dn: ou=กลุ่ม,dc=srv,dc=โลก
objectClass: หน่วยขององค์กร
objectClass: ด้านบน
คุณ: กลุ่ม

อฟ
ldapadd -x -w 1234 -D cn=ผู้จัดการ,dc=srv,dc=world -f basedomain.ldif
systemctl เริ่มไฟร์วอลล์
systemctl เปิดใช้งานไฟร์วอลล์
ไฟร์วอลล์ cmd --add-service=ldap --permanent 
ไฟร์วอลล์ cmd --reload

แมว <<EOF > adam.ldif
dn: uid=adam,ou=Users,dc=srv,dc=world
objectClass: ด้านบน
objectClass: บัญชี
objectClass: posixบัญชี
objectClass: shadowAccount
cn: อดัม
uid: อดัม
หมายเลขรหัส: 16859
gidNumber: 100
homeDirectory: /home/อดัม
ล็อกอินเชลล์: /bin/bash
gecos: อดัม
รหัสผ่านผู้ใช้: 1234
shadowLastChange: 0
เงาสูงสุด: 0
เงาคำเตือน: 0
อฟ
ldapadd -x -w 1234 -D "cn=Manager,dc=srv,dc=world" -f adam.ldif
ldappasswd -s 1234 -w 1234 -D "cn=Manager,dc=srv,dc=world" -x "uid=adam,ou=Users,dc=srv,dc=world"

SSSD.conf [ลูกค้า]

แมว <<EOF > /etc/sssd/sssd.conf
[sssd]
บริการ = nss, แพม, sudo
config_file_version = 2
โดเมน = ค่าเริ่มต้น

[ซูโดะ]

[nss]

[แพม]
offline_credentials_expiration = 60

[โดเมน/ค่าเริ่มต้น]
ldap_id_use_start_tls = เท็จ
cache_credentials = จริง
ldap_search_base = dc=srv,dc=โลก
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
access_provider = ldap
sudo_provider = ldap
ldap_uri = ldap://ldapmaster
ldap_default_bind_dn = cn=ผู้จัดการ,dc=srv,dc=โลก
#ldap_default_authtok_type = รหัสผ่าน
ldap_default_authtok = 1234
#ldap_user_search_base = CN=ผู้ใช้,DC=srv,DC=โลก
#ldap_tls_reqcert = ความต้องการ
#ldap_tls_cacert = /etc/pki/tls/cacert.crt
#ldap_tls_cacertdir = /etc/pki/tls
ldap_search_timeout = 50
ldap_network_timeout = 60
#ldap_sudo_search_base = ou=SUDOers,dc=ldapmaster,dc=ldapmaster,dc=com
ldap_access_order = ตัวกรอง
ldap_access_filter = (objectClass=posixAccount)
อฟ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา