เพิ่มบัญชีผู้ใช้งานเข้าไปใน OpenLDAP

หลังจากที่ ติดตั้ง OpenLDAP Server ไปแล้ว บทความนี้จะเป็นการเริ่มต้นใส่ข้อมูลเข้าไปใน LDAP ซึ่งในที่นี้จะใส่ข้อมูลให้สามารถเก็บบัญชีผู้ใช้งาน (User Account) และรหัสผ่าน (Password) เพื่อให้สามารถ authenticate user บนลีนุกซ์ได้

การเพิ่มข้อมูลเข้าไปใน LDAP ได้นั้น วิธีการหนี่งที่ทำได้คือสร้างไฟล์เป็นรูปแบบ ldif ก่อน แล้วใช้คำสั่ง ldapadd เพื่อเพิ่มข้อมูลเข้าไปใน LDAP

เพิ่มข้อมูลพื้นฐานของ LDAP

ตัวอย่างไฟล์ ldif สำหรับใส่ข้อมูลพื้นฐานของ LDAP  และการใช้คำสั่ง ldapadd เพิ่มข้อมูลเข้าไปใน LDAP

[root@fc9-min ldif]# cat ldap-base.ldif
dn: dc=test-ldap,dc=com
dc: test-ldap
objectClass: top
objectClass: domain
dn: ou=People,dc=test-ldap,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=test-ldap,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit
[root@fc9-min ldif]# ldapadd -x -D uid=root,ou=People,dc=test-ldap,dc=com -W -f ldap-base.ldif
Enter LDAP Password:
adding new entry "dc=test-ldap,dc=com"
adding new entry "ou=People,dc=test-ldap,dc=com"
adding new entry "ou=Group,dc=test-ldap,dc=com"

หมายเหตุ LDAP Password ที่ต้องใส่ในคำสั่ง ldapadd คือรหัสที่ถูกเข้ารหัสด้วยคำสั่ง slappasswd แล้วนำมาใส่ไว้เป็นคอนฟิก rootpw ในไฟล์ /etc/openldap/slapd.conf

เพิ่ม user01 เข้าไปใน LDAP

ตัวอย่างไฟล์ ldif เพื่อเพิ่ม user01 เข้าไปใน LDAP

[root@fc9-min ldif]# cat add-user01.ldif
dn: uid=user01,ou=People,dc=test-ldap,dc=com
uid: user01
cn: user01
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}!!
shadowLastChange: 14030
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1001
gidNumber: 100
homeDirectory: /home/user01

ใช้คำสั่ง ldapadd เพิ่ม user01 เข้าไปใน LDAP

[root@fc9-min ldif]# ldapadd -x -D uid=root,ou=People,dc=test-ldap,dc=com -W -f add-user01.ldif
Enter LDAP Password:
adding new entry "uid=user01,ou=People,dc=test-ldap,dc=com"

แก้ใขให้ลีนุกซ์ตรวจสอบผู้ใช้งานจาก LDAP

ใช้คำสั่ง authconfig-tui เพื่อคอนฟิกให้อ่านค่าผู้ใช้งาน (User Account) จาก LDAP Server โดยในที่นี้จะให้ LDAP Server รันอยู่บนเครื่องเดียวกัน เราสามารถระบุ Server เป็น 127.0.0.1 หรือ localhost ได้

ในหน้าแรกของคำสั่ง authconfig-tui ส่วนของ User Information  ให้คลิกเลือก [*] Use LDAP และส่วนของ Authentication ให้คลิกเลือก [*] Use LDAP Authentication เสร็จเรียบร้อยให้กด Next

                              ┌────────────────┤ Authentication Configuration ├─────────────────┐
                              │                                                                 │
                              │  User Information        Authentication                         │
                              │  [ ] Cache Information   [ ] Use MD5 Passwords                  │
                              │  [ ] Use Hesiod          [*] Use Shadow Passwords               │
                              │  [*] Use LDAP            [*] Use LDAP Authentication            │
                              │  [ ] Use NIS             [ ] Use Kerberos                       │
                              │  [ ] Use Winbind         [ ] Use SMB Authentication             │
                              │                          [ ] Use Winbind Authentication         │
                              │                          [*] Local authorization is sufficient  │
                              │                                                                 │
                              │            ┌────────┐                      ┌──────┐             │
                              │            │ Cancel │                      │ Next │             │
                              │            └────────┘                      └──────┘             │
                              │                                                                 │
                              │                                                                 │
                              └─────────────────────────────────────────────────────────────────┘

ในหน้าที่สองจะเป็นการระบุ Server เพื่อชี้ไปยัง LDAP Server โดยจะใส่ ldap:// นำหน้า IP Address หรือชื่อ Hostname  อีกส่วนที่ต้องแก้ไขคือ Base DN ซึ่งเป็นค่าเดียวกับที่ตั้งไว้ในไฟล์ slapd.conf เสร็จเรียบร้อยให้กด Ok ออกมา

                                     ┌─────────────────┤ LDAP Settings ├─────────────────┐
                                     │                                                   │
                                     │          [ ] Use TLS                              │
                                     │  Server: ldap://127.0.0.1/_______________________ │
                                     │ Base DN: dc=test-ldap,dc=com_____________________ │
                                     │                                                   │
                                     │         ┌──────┐                  ┌────┐          │
                                     │         │ Back │                  │ Ok │          │
                                     │         └──────┘                  └────┘          │
                                     │                                                   │
                                     │                                                   │
                                     └───────────────────────────────────────────────────┘

ทดสอบตรวจสอบบัญชีผู้ใช้งานจาก LDAP

สามารถใช้คำสั่ง id เพื่อตรวจสอบผู้ใช้งานจาก LDAP ได้ ดังนี้

[root@fc9-min ~]# id user01
uid=1001(user01) gid=100(users) groups=100(users) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

หรือใช้คำสั่ง getent เพื่อดูรายละเอียดเพิ่มเติมของผู้ใช้นั้นๆ

[root@fc9-min ~]# getent passwd user01
user01:x:1001:100:user01:/home/user01:/bin/bash

ข้อมูลอ้างอิง

1 thought on “เพิ่มบัญชีผู้ใช้งานเข้าไปใน OpenLDAP”

Leave a Reply