ทดลอง libpam-fprint กับ AuthenTec, Inc. AES2501 Fingerprint Sensor จาก experimental

เริ่มต้นด้วยผมได้ซื้อ laptop เครื่องใหม่มาครับ มี Fingerprint ติดมาซะด้วย คิดว่าคงไม่มีโอกาสได้ใช้แน่นอน แต่พอได้อ่าน http://debianclub.org/node/261 เลยเริ่มมีความหวังว่าน่าจะมี application ที่ใช้กับมันได้แล้วก็เจอจริง ๆ ครับ :) เข้าเรื่องเลยดีกว่า

เพิ่ม Repository ของ experimental

# vi /etc/apt/sources.list
deb http://ftp.debianclub.org/debian/ experimental main contrib non-free
deb-src http://ftp.debianclub.org/debian/ experimental main contrib non-free

update packet list แล้ว ติดตั้งพระเอกของงานครับ :P

# aptitude update
# aptitude install libpam-fprint

enroll ลายนิ้วมือก่อนเลยครับ

# pam_fprint_enroll --enroll-finger 7
This program will enroll your finger, unconditionally overwriting any selected
print that was enrolled previously. If you want to continue, press enter, 
otherwise hit Ctrl+C

Found device claimed by AuthenTec AES2501 driver
Opened device. It's now time to enroll your finger.

You will need to successfully scan your Right Index Finger 1 times to complete 
the process.

Scan your finger now.
Enroll complete!
Enrollment completed!

เพิ่มเติมสำหรับ --enroll-finger index ครับ

index ที่เป็นไปได้มีตามนี้ครับ

1 - นิ้วโป้งมือซ้าย
2 - นิ้วชี้มือซ้าย
3 - นิ้วกลางมือซ้าย
4 - นิ้วนางมือซ้าย
5 - นิ้วก้อยมือซ้าย
6 - นิ้วโป้งมือขวา
7 - นิ้วชี้มือขวา
8 - นิ้วกลางมือขวา
9 - นิ้วนางมือขวา
10 - นิ้วก้อยมือขวา

จะเห็นว่าจากตัวอย่างผมใช้ 7 ก็หมายถึง นิ้วชี้มือขวา ครับ

เมื่อเสร็จสิ้นขั้นตอนนี้จะมีไดเรกทอรี .fprint ปรากฏอยู่ที่ home directory

หากต้องการให้ผู้ใช้อื่น (นอกเหนือจาก root) ใช้งาน fingerprint ได้จะต้องทำการ enroll จาก root แล้ว copy .fprint ไปไว้ใน home directory ของผู้ใช้คนนั้นแล้วเปลี่ยน owner ของ .fprint ที่ copy ไปเป็นของ user คนนั้นครับ

# cp -r /root/.fprint /home/chanathip
# chown -R chanathip:chanathip /home/chanathip/.fprint

ต่อไปจะเป็นการตั้งค่า pam เพื่อให้ใช้ fprint ในการ authentication สำหรับ gdm นะครับ

แบบแรก สแกนลายนิ้วมือก่อน ถ้าไม่ผ่านจะใช้การใส่รหัสผ่านแทน (sufficient)

# vi /etc/pam.d/gdm
auth  sufficient  pam_fprint.so
# Standard Un*x authentication.
@include common-auth

แบบที่สอง ต้องสแกนลายนิ้วมือและใส่รหัสผ่านให้ถูกต้อง (required)

# vi /etc/pam.d/gdm
auth  required  pam_fprint.so
# Standard Un*x authentication.
@include common-auth

แบบที่สาม ต้องสแกนลายนิ้วมือให้ถูกต้อง (ไม่แนะนำ เพราะ libpam-fprint เป็นซอฟต์แวร์ที่ใช้อยู่ใน experimental ครับ)

# vi /etc/pam.d/gdm
auth  required  pam_fprint.so
# Standard Un*x authentication.
# @include common-auth

ยังมีอีกหลายไฟล์ใน /etc/pam.d ที่ยังใช้วิธีการประมาณนี้ได้ครับ อย่างเช่น login, su, sudo ครับ แต่ว่าจากที่ทดสอบ su, sudo ยังมีปัญหาเวลาถูกเรียกใช้งานจาก su-to-root, gksu, gksudo เพราะยังไม่รองรับการทำงานของ pam_fprint.so ครับ

Topic: 
Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้