จะกำหนดค่า Ubuntu ให้เป็นไคลเอนต์ LDAP ได้อย่างไร?


21

วิธีการกำหนดค่า Ubuntu 12.04 เป็นลูกค้า ldap กับโมดูลแพม?


การโพสต์ไฟล์การกำหนดค่าของคุณในคำถามของคุณจะช่วยได้!
Jorge Castro

คำตอบ:


16

เนื้อหาของโพสต์นี้เป็นไปตามคู่มือนี้ มันควรจะทำงานได้ดีใน 12.04

1) ใช้คำสั่งต่อไปนี้:

sudo apt-get install ldap-utils libpam-ldap libnss-ldap nslcd

หมายเหตุ: ระหว่างการติดตั้งแพ็คเกจด้านบนกล่องโต้ตอบจะปรากฏขึ้นและถามเกี่ยวกับการกำหนดค่า LDAP บางอย่าง ให้แน่ใจว่าจะใส่ค่าที่ถูกต้องสำหรับการกำหนดค่า LDAP ของคุณ

2) แก้ไข/etc/nsswitch.conf(ผ่าน sudo) ผนวก "LDAP" เพื่อบรรทัดเหล่านี้:

#Original file looks like this 
passwd: compat 
group : compat  
shadow: compat 

#After appending "ldap" lines look like these
passwd: compat ldap
group : compat ldap  
shadow: compat ldap 

3) ความคิดเห็นออกบรรทัดrootbinddnผมไม่แน่ใจว่าทำไมเราต้องทำอย่างนั้น

4) แก้ไข/etc/pam.d/login(ผ่าน sudo) และวาง:

session required pam_mkhomedir.so skel=/etc/skel umask=0022 

5) แก้ไข/etc/pam.d/lightdm(ผ่าน sudo) และวาง:

session required pam_mkhomedir.so skel=/etc/skel umask=0022 

6) ใช้คำสั่งนี้:

sudo update-rc.d nslcd enable

คุณควรจะสามารถเข้าสู่ระบบเป็นผู้ใช้ LDAP หลังจากรีบูต หากคุณไม่ได้รีบูตเครื่องที่คุณต้องเริ่มต้น NSCD ด้วย:

/etc/init.d/nscd restart

ปัญหาและวิธีแก้ไขที่เป็นไปได้:

  • การเข้าสู่ระบบในฐานะผู้ใช้ LDAP ใช้เวลานานมาก (นาที): เป็นไปได้มากที่ nss-lap จะพบปัญหาในการค้นหากลุ่มผู้ใช้ ตรวจสอบให้แน่ใจว่าผู้ใช้อยู่ในกลุ่มที่รู้จักภายในเครื่องหรือผู้ใช้อยู่ในกลุ่มที่กำหนดไว้ใน LDAP ตรวจสอบให้แน่ใจว่าหากมีการกำหนดกลุ่มใน LDAP ว่าเป็นกลุ่ม POSIX จริง
  • ตรวจสอบ/var/log/auth.logไฟล์บันทึกทุกครั้ง หากคุณเห็น "ไม่สามารถติดต่อเซิร์ฟเวอร์ ldap" ให้ตรวจสอบว่าเซิร์ฟเวอร์ LDAP สามารถเข้าถึงได้และพอร์ตเปิดอยู่หรือไม่
  • ลอง ping เซิร์ฟเวอร์ LDAP โดยใช้ชื่อ
  • ลองตรวจสอบว่าพอร์ต LDAP เปิดอยู่หรือไม่:
    • LDAP สามารถฟังบนพอร์ตต่าง ๆ แต่โดยทั่วไปสามารถพบได้ใน 389 และ 636
    • คุณสามารถตรวจสอบว่าพอร์ตเปิดอยู่โดยใช้ telnet:
    • telnet 389 หรือ telnet 636
    • หากคุณเห็นอักขระใด ๆ บนคอนโซลพอร์ตจะเปิดและเซิร์ฟเวอร์ LDAP ควรทำงาน
    • หากคุณไม่เห็นอะไรเลยหรือได้รับข้อความแสดงข้อผิดพลาดแสดงว่าเซิร์ฟเวอร์ LDAP ไม่ได้ทำงานหรือมีบางอย่าง (เช่นไฟร์วอลล์) ป้องกันการเชื่อมต่อ

หากคุณกำลังใช้ ldaps คุณจะยังอาจจำเป็นต้องกำหนดค่าใบรับรองความไว้วางใจตามaskubuntu.com/questions/73287/...
sweetfa

5

ในการรับไดเรกทอรีบ้านที่สร้างขึ้นโดยอัตโนมัติเมื่อเข้าสู่ระบบฉันต้องใส่บรรทัด:

session required pam_mkhomedir.so skel=/etc/skel umask=0022

เข้ามา/etc/pam.d/common-sessionแทน/etc/pam.d/login- เมื่อฉันเพิ่งมีในภายหลังไดเรกทอรีบ้านของฉันไม่ได้ถูกสร้าง


2
sudo apt-get install ldap-utils libpam-ldap libnss-ldapd nslcd

ใช้ libnss-ldapd แทน

ต่อข้อผิดพลาด: https://bugs.launchpad.net/ubuntu/+source/libnss-ldap/+bug/1024475


ขอขอบคุณ. การลบ libnss-ldap และการติดตั้ง libnss-ldapd แก้ไขปัญหาการบู๊ตของฉันหลังจากพยายามตั้งค่านี้
Omegamormegil

1

เพื่อให้มีตัวเลือกในการพิมพ์ชื่อผู้ใช้คุณจะต้องแก้ไขlightdm configurationด้วยคำสั่งต่อไปนี้:

/usr/lib/lightdm/lightdm-set-defaults -m true

0

เกี่ยวกับการพิมพ์ชื่อผู้ใช้ลงใน ligthdm greeter ตั้งแต่ 16.04 คำสั่ง lightdm-set-defaults หายไป

คุณสามารถเพิ่มตัวเลือกสำหรับการพิมพ์ชื่อผู้ใช้ลงในไฟล์กำหนดค่า lightdm ได้ ตัวอย่างเช่นสร้างไฟล์ /etc/lightdm/lightdm.conf และเพิ่มบรรทัดต่อไปนี้:

[SeatDefaults]
greeter-show-manual-login=true
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.