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 ผ่าน aptsudo apt update
sudo apt install fprintd libpam-fprintd
บันทึกและทดสอบลายนิ้วมือ
บันทึกลายนิ้วมือ (Enroll)
ระบบจะกำหนดให้นิ้วชี้ขวา (right-index-finger) เป็นค่านิยมเริ่มต้น ให้แตะนิ้วลงบนเซนเซอร์ซ้ำ ๆ จนกว่าสถานะจะขึ้น enroll-completedfprintd-enroll
หากต้องการระบุนิ้วอื่น
เช่น นิ้วโป้งขวาfprintd-enroll -f right-thumb
ตรวจสอบรายชื่อนิ้วทั้งหมดที่เลือกได้
fprintd-enroll --help
ทดสอบการสแกน (Verify)
fprintd-verify
แตะนิ้วที่บันทึกไว้ หากสำเร็จระบบจะแสดงข้อความ verify-match (done)
เปิดใช้งานการยืนยันตัวตนในระบบ (PAM)
พื่อให้ระบบเรียกใช้ลายนิ้วมือเมื่อล็อกอินหรือใช้งานคำสั่ง sudo ให้รันคำสั่งกำหนดค่า PAM
sudo pam-auth-update
- ใช้ปุ่มลูกศรเลื่อนไปที่หัวข้อ Fingerprint authentication
- กดปุ่ม
Spacebarเพื่อใส่เครื่องหมายดอกจัน[*] - กด
Tabไปที่ แล้วกดEnter
ทดสอบการทำงานโดยเปิด Terminal ใหม่แล้วลองรันคำสั่งsudo ls
ระบบจะขึ้นข้อความให้สแกนลายนิ้วมือ (หากสแกนไม่ติด สามารถกดยกเลิกหรือพิมพ์รหัสผ่านแทนได้)
ข้อควรรู้และการแก้ปัญหา
- หน้าจอ Login (LightDM/Slick Greeter): Linux Mint บางเวอร์ชันอาจไม่แสดงแอนิเมชันขอสแกนนิ้วบนหน้าล็อกอิน ให้ลองแตะนิ้วที่เซนเซอร์ได้ทันทีขณะเคอร์เซอร์อยู่ที่ช่องรหัสผ่าน
- การลบลายนิ้วมือ: หากต้องการเริ่มบันทึกใหม่ทั้งหมด ให้รันคำสั่ง
fprintd-delete $USER - สิทธิ์การเข้าถึง: การบันทึกและลบลายนิ้วมือของตนเองไม่จำเป็นต้องใช้
sudoแต่การตั้งค่า PAM จำเป็นต้องใช้สิทธิ์ Root