Score:0

ฉันสามารถ su ในฐานะผู้ใช้ [open]ldap บน sssd ได้ แต่ฉันไม่สามารถ ssh หรือเข้าสู่ระบบโดยตรงในฐานะผู้ใช้รายเดียวกัน ฉันพลาดอะไรไป

ธง cf

บนไคลเอนต์ sssd

authselect เลือก sssd --force
เปิดใช้งาน systemctl -- ตอนนี้ sssd

[root@ldap-sssd ~]# ไอดีไลน์
uid=16859(อดัม) gid=100(ผู้ใช้) กลุ่ม=100(ผู้ใช้)
[root@ldap-sssd ~]# su อดัม
bash-4.4$ su อดัม
รหัสผ่าน:
su: การรับรองความถูกต้องล้มเหลว
ทุบตี-4.4$

ถ้าฉันวิ่ง

sssctl ผู้ใช้ตรวจสอบอดัม

ฉันเห็นสิ่งนี้

ผู้ใช้:อดัม
การกระทำ: บัญชี
บริการ: ระบบตรวจสอบสิทธิ์

ผลการค้นหาผู้ใช้ SSSD nss:
 - ชื่อผู้ใช้: อดัม
 - รหัสผู้ใช้: 16859
 - รหัสกลุ่ม: 100
 - gecos: อดัม
 - โฮมไดเร็กตอรี่: /home/adam
 - เชลล์: /bin/bash

ผลลัพธ์การค้นหาผู้ใช้ SSSD InfoPipe:
 - ชื่อ: อดัม
 - หมายเลขรหัส: 16859
 - gidNumber: 100
 - gecos: อดัม
 - homeDirectory: /home/อดัม
 - ล็อกอินเชลล์: /bin/bash

กำลังทดสอบ pam_acct_mgmt

pam_acct_mgmt: ปฏิเสธการอนุญาต

สภาพแวดล้อม PAM:
 - ไม่มี env -

บน ldapmaster ฉันยืนยันว่ารหัสผ่านถูกต้อง

ldapsearch -x -H ldap://ldapmaster \
      -D uid=adam,ou=Users,DC=srv,DC=world \
      -w 1234 \
      -b uid=adam,ou=Users,DC=srv,DC=world \
      -s ฐาน \
        "(วัตถุคลาส=*)"       

[root@ldapmaster ~]# ชัดเจน
      -s ฐาน "(objectclass=*)"4 -b uid=adam,ou=Users,DC=srv,DC=world
# LDIF ขยาย
#
#LDAPv3
# ฐาน <uid=adam,ou=Users,DC=srv,DC=world> ที่มีขอบเขต baseObject
# ตัวกรอง: (objectclass=*)
# คำขอ: ทั้งหมด
#

# อดัม ผู้ใช้ srv.world
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: อดัม
shadowLastChange: 0
เงาสูงสุด: 0
เงาคำเตือน: 0
รหัสผ่านผู้ใช้:: e1NTSEF9OVcvdStLUTM3Y1F2dE5hVGR2WktuSDZSMm0zRGlUckw=

# ผลการค้นหา
ค้นหา: 2
ผลลัพธ์: 0 สำเร็จ

# numResponses: 2
# จำนวนรายการ: 1

การกำหนดค่าไคลเอ็นต์ sssd

nsswitch.conf

[root@ldap-sssd ~]# grep "^[^#;]" /etc/nsswitch.conf
passwd: ไฟล์ sss systemd
กลุ่ม: ไฟล์ sss systemd
netgroup: ไฟล์ sss
automount: ไฟล์ sss
บริการ: ไฟล์ sss
เงา: ไฟล์ sss
โฮสต์: ไฟล์ DNS ชื่อโฮสต์ของฉัน
นามแฝง: ไฟล์
อีเธอร์: ไฟล์
gshadow: ไฟล์
เครือข่าย: ไฟล์ DNS
โปรโตคอล: ไฟล์
พับลิกคีย์: ไฟล์
rpc: ไฟล์

ldap.conf

[root@ldap-sssd ~]# grep "^[^#;]" /etc/openldap/ldap.conf
ฐาน dc=srv,dc=โลก
URI ldap://ldapmaster
เปิด SASL_NOCANON
URI ldap://ldapmaster
ฐาน dc=srv,dc=โลก

sssd.conf

[root@ldap-sssd ~]# grep "^[^#;]" /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=ผู้จัดการ,ou=ผู้ใช้,dc=srv,dc=world
ldap_default_authtok_type = รหัสผ่าน
ldap_default_authtok = 1234
ldap_search_timeout = 50
ldap_network_timeout = 60
ldap_access_order = ตัวกรอง
ldap_access_filter = ((objectClass=posixAccount))

สคริปต์การตั้งค่า ldapmaster

#https://www.server-world.info/en/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"

คู่มืออ้างอิง

https://www.server-world.info/en/note?os=CentOS_7&p=openldap

https://kifarunix.com/configure-sssd-for-openldap-authentication-on-centos-8/

Score:0
ธง cf

สองสิ่ง

ฉันพลาดขั้นตอนในไคลเอนต์ sssd

ตรวจสอบการกำหนดค่า sssctl

บอกให้ฉันแก้ไขไฟล์ภายใต้ /etc/sssd/

chown -R รูท: /etc/sssd
chmod 0600 -R /etc/sssd

และฉันเปลี่ยนใน sssd.conf

access_provider = ง่าย

โพสต์คำตอบ

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