PlusMagi's Blog By Pitt Phunsanit Linux,Shell Script คู่มือการตั้งค่าสแกนลายนิ้วมือบน Linux Mint ด้วย fprintd

คู่มือการตั้งค่าสแกนลายนิ้วมือบน Linux Mint ด้วย fprintd

fprintd เป็นบริการ daemon บน Linux ที่ทำหน้าที่จัดการและตรวจสอบลายนิ้วมือผ่านโมดูล PAM (Pluggable Authentication Modules) ช่วยให้สามารถใช้เซนเซอร์ลายนิ้วมือเพื่อปลดล็อกเครื่องหรือยืนยันคำสั่ง sudo แทนการพิมพ์รหัสผ่านได้


ตรวจสอบฮาร์ดแวร์เซนเซอร์

ก่อนเริ่มติดตั้ง ตรวจสอบว่าระบบมองเห็นตัวอ่านลายนิ้วมือและมีไดรเวอร์รองรับหรือไม่ โดยเปิด Terminal แล้วรันคำสั่ง
lsusb
มองหารายการที่มีคำว่า Fingerprint Reader หรือชื่อผู้ผลิต เช่น Validity Sensors, Synaptics, Goodix, Elan

หากเซนเซอร์เป็นรุ่นใหม่หรือแบรนด์เฉพาะ (เช่น Goodix บางรุ่น) อาจต้องใช้ไดรเวอร์แบบ Proprietary เพิ่มเติม ตรวจสอบรายชื่ออุปกรณ์ที่รองรับอย่างเป็นทางการได้ที่ libfprint supported devices


ติดตั้ง fprintd และ PAM Module

ติดตั้งแพ็กเกจ fprintd และโมดูลเชื่อมต่อ PAM ผ่าน apt
sudo apt update
sudo apt install fprintd libpam-fprintd


บันทึกและทดสอบลายนิ้วมือ


บันทึกลายนิ้วมือ (Enroll)

ระบบจะกำหนดให้นิ้วชี้ขวา (right-index-finger) เป็นค่านิยมเริ่มต้น ให้แตะนิ้วลงบนเซนเซอร์ซ้ำ ๆ จนกว่าสถานะจะขึ้น enroll-completed
fprintd-enroll


หากต้องการระบุนิ้วอื่น

เช่น นิ้วโป้งขวา
fprintd-enroll -f right-thumb


ตรวจสอบรายชื่อนิ้วทั้งหมดที่เลือกได้

fprintd-enroll --help


ทดสอบการสแกน (Verify)

fprintd-verify

แตะนิ้วที่บันทึกไว้ หากสำเร็จระบบจะแสดงข้อความ verify-match (done)


เปิดใช้งานการยืนยันตัวตนในระบบ (PAM)

พื่อให้ระบบเรียกใช้ลายนิ้วมือเมื่อล็อกอินหรือใช้งานคำสั่ง sudo ให้รันคำสั่งกำหนดค่า PAM

sudo pam-auth-update

  1. ใช้ปุ่มลูกศรเลื่อนไปที่หัวข้อ Fingerprint authentication
  2. กดปุ่ม Spacebar เพื่อใส่เครื่องหมายดอกจัน [*]
  3. กด Tab ไปที่ แล้วกด Enter

ทดสอบการทำงานโดยเปิด Terminal ใหม่แล้วลองรันคำสั่ง
sudo ls

ระบบจะขึ้นข้อความให้สแกนลายนิ้วมือ (หากสแกนไม่ติด สามารถกดยกเลิกหรือพิมพ์รหัสผ่านแทนได้)


ข้อควรรู้และการแก้ปัญหา

  • หน้าจอ Login (LightDM/Slick Greeter): Linux Mint บางเวอร์ชันอาจไม่แสดงแอนิเมชันขอสแกนนิ้วบนหน้าล็อกอิน ให้ลองแตะนิ้วที่เซนเซอร์ได้ทันทีขณะเคอร์เซอร์อยู่ที่ช่องรหัสผ่าน
  • การลบลายนิ้วมือ: หากต้องการเริ่มบันทึกใหม่ทั้งหมด ให้รันคำสั่ง
    fprintd-delete $USER
  • สิทธิ์การเข้าถึง: การบันทึกและลบลายนิ้วมือของตนเองไม่จำเป็นต้องใช้ sudo แต่การตั้งค่า PAM จำเป็นต้องใช้สิทธิ์ Root