มาดู Mail Server ที่ติดตั้งไว้เป็น Linux SIS 5.0 ก็เลยทำอะไรง่ายขึ้นมานิดนึง เพราะว่า email ของ Linux SIS ใช้ OpenLDAP เลยคิดว่าน่าจะใช้ LDAP authentication client ดีกว่า ส่วน Application/File Server เป็น Ubuntu 6.10 (Edgy)
ลองหาว่ามีใครทำแบบนี้แล้วบ้างก็เจอที่นี่ เลยเอามาดัดแปลงวิธีการ
ก่อนอื่นติดตั้ง libpam-ldap และ libnss-ldap
$ sudo aptitude install libpam-ldap libnss-ldapหลังจากนั้นจะเข้าสู่การ configure libnss-ldap โดยมีขั้นตอนดังนี้
LDAP Server Host ใส่ IP address ของ LDAP Server ในที่นี้ก็คือ IP ของ Linux SIS ซึ่งเป็น LDAP Server ที่จะใช้
distinguished name of search base ใส่ dc=sis,dc=com ซึ่งเป็น default dn ที่ Linux SIS ใช้
LDAP version เลือก 3 ตาม Linux SIS
LDAP account for root ใส่ uid=root,ou=People,dc=sis,dc=com
LDAP root account password ใส่ password ของ Linux SIS root
จากนั้นจะได้รับคำเตือนว่า nsswitch.conf ไม่ได้ถูกแก้ เราจะกลับมาจัดการทีหลัง
เสร็จแล้วก็จะต่อด้วยการ configure libpam-ldap
ถามว่า Make local root Database admin ตอบ Yes
Database requires logging in ตอบ No
Root login account ใส่ uid=root,ou=People,dc=sis,dc=com
Root login password ใส่ password ของ Linux SIS root
ลองทดสอบว่าเราใส่ค่าถูกต้องหรือไม่ โดยใช้คำสั่ง getent passwd
admin:x:499:499:admin:/home/admin:/bin/bash
อย่าใช้ username ที่มีอยู่บนเครื่องที่กำลังแก้ไขเพราะถ้าค่าที่ป้อนผิด ข้อมูลก็จะออกมาเหมือนกัน หลังจากนั้นตรวจสอบว่า /etc/libnss-ldap.conf และ /etc/pam_ldap.conf มีบรรทัดเหล่านี้ตามที่กำหนดไว้หรือไม่ เพราะอาจมีปัญหาถึงกับ login ไม่ได้
host
base dc=sis,dc=com
ldap_version 3
rootbinddn uid=root,ou=People,dc=sis,dc=com
ตรวจสอบว่า /etc/libnss-ldap.secret และ /etc/pam_ldap.secret เก็บ password ของ Linux SIS root หรือเปล่า
แก้ไข /etc/pam.d/common-account
account sufficient pam_ldap.so # ก่อน pam_unix.so
account required pam_unix.so
แก้ไข /etc/pam.d/common-auth
auth sufficient pam_ldap.so # ก่อน pam_unix.so
auth required pam_unix.so nullok_secure
แก้ไข /etc/pam.d/common-password
password sufficient pam_ldap.so # ก่อน pam_unix.so
password required pam_unix.so nullok obscure min=4 max=8 md5
แก้ไข /etc/nsswitch.conf เปลี่ยน compat ไปเป็น files ldap ในทุกบรรทัด
passwd: files ldap
group: files ldap
shadow: files ldap
เพื่อให้ user สามารถ login บน server ที่ใช้ LDAP Authentication client ต้องสร้าง home directory ให้ตรงกับที่กำหนดที่ Linux SIS ซึ่งก็คือ /home/
$sudo mkdir /home/
$sudo chown: /home/
เสร็จแล้ว!!!