Difference between revisions of "Fprint"

From ArchWiki
Jump to: navigation, search
(cleaning)
(Undo revision 287280 by Pizzapill (talk))
(48 intermediate revisions by 19 users not shown)
Line 1: Line 1:
[[Category:Input devices (English)]]
+
[[Category:Input devices]]
[[Category:HOWTOs (English)]]
+
[[bg:Fprint]]
{{i18n|fprint}}
+
[[fa:Fprint]]
 +
From [http://www.freedesktop.org/wiki/Software/fprint/ the fprint homepage]:
  
From [http://reactivated.net/fprint/wiki/Pam_fprint Pam fprint - fprint project]:
+
:''The fprint project aims to plug a gap in the Linux desktop: support for consumer fingerprint reader devices.''
  
:''"pam_fprint is a simple PAM module which uses libfprint's fingerprint processing and verification functionality for authentication. In other words, instead of seeing a password prompt, you're asked to scan your fingerprint."''
+
The idea is to use the built-in fingerprint reader in some notebooks for login using PAM. This article will also explain how to use regular password for backup login method (solely fingerprint scanner is not recommended due to numerous reasons).
 
+
The idea is to use the built-in fingerprint reader in some notebooks for login using PAM. I will also explain how to use regular password for backup login method (solely fingerprint scanner is not recommended due to numerous reasons).
+
  
 
== Prerequisites ==
 
== Prerequisites ==
  
First, make sure you have one of the supported finger scanners. You can check if your device is supported by checking [http://www.thinkwiki.org/wiki/Integrated_Fingerprint_Reader this] list of supported devices. To check which one you have, type
+
Make sure you have one of the supported finger scanners. You can check if your device is supported by checking [http://www.freedesktop.org/wiki/Software/fprint/libfprint/Supported_devices/ this] list of supported devices. To check which one you have, type
 
  # lsusb
 
  # lsusb
 
You need to install '''pam''' and '''libfprint'''.
 
# pacman -S pam libfprint
 
  
 
== Installation ==
 
== Installation ==
  
Once you made sure your reader is supported, you are good to go
+
Install {{Pkg|fprintd}} from the [[official repositories]]. {{Pkg|imagemagick}} might also be needed.
# pacman -S pam_fprint
+
  
 
== Configuration ==
 
== Configuration ==
  
=== Permissions ===
+
=== Login configuration ===
  
This is the tricky part. By defaut, only root has access to the device. You can create a signature from sudo, but then you can only use it for root user. After digging at the Ubuntu forums I found out the following solution which worked for me.
+
{{Note|If you use [[GDM]], the fingerprint-option is already available in the login menu. You can skip this section!}}
  
1. If the group plugdev doesn't exist (didn't for me), create it
+
Add {{ic|pam_fprintd.so}} as sufficient to the top of the auth section of {{ic|/etc/pam.d/system-local-login}}:
  
2. Add yourself to the group
+
{{hc|/etc/pam.d/system-local-login|
 +
'''auth      sufficient pam_fprintd.so'''
 +
auth      include  system-login
 +
...
 +
}}
 +
 
 +
This tries to use fingerprint login first, and if if fails or if it finds no fingerprint signatures in the give user's home directory, it proceeds to password login.
 +
 
 +
You can also modify other files in {{ic|/etc/pam.d/}} in the same way, for example {{ic|/etc/pam.d/polkit-1}} for GNOME polkit authentication.
 +
 
 +
=== Create fingeprint signature ===
 +
 
 +
To add a signature for a finger, run
 +
$ fprintd-enroll
 +
 
 +
You will be asked to scan the given finger. After that, the signature is created in {{ic|/var/lib/fprint/}}.
 +
 
 +
For more information, see {{ic|man fprintd}}.
 +
 
 +
== Setup fingerprint-gui ==
 +
{{out of date|packages do not exist anymore}}
 +
 
 +
An alternate fingerprint reader gui.
 +
This works with libfprint-unstable which has support for the new Upeksonly readers, such as,
 +
the new Thinkpad W510 T510 T410 T420 Upeksonly reader with USB ID 147e:2016
 +
 
 +
http://www.thinkwiki.org/wiki/Integrated_Fingerprint_Reader
 +
 
 +
http://www.n-view.net/Appliance/fingerprint/
 +
 
 +
Install as dependency {{Pkg|libfakekey}} and {{Pkg|fingerprint-gui}}.
 +
 
 +
Please make sure your user is a member of "plugdev" and "scanner" group if you use UPEK non-free library. You may also have to log out and back in for these changes to take effect.
 
  # gpasswd -a USER plugdev
 
  # gpasswd -a USER plugdev
 +
# gpasswd -a USER scanner
  
3. Allow USB access
+
fingerprint-polkit-agent conflicts with files in {{ic|/etc/xdg/autostart}} that must
# chgrp -R plugdev /dev/bus/usb/
+
be removed:
 +
"polkit-gnome-authentication-agent-1.desktop" and
 +
"polkit-kde-authentication-agent-1.desktop".
  
=== Login configuration ===
+
Edit your PAM configuration (e.g., {{ic|<nowiki>/etc/pam.d/{login,su,sudo,gdm}</nowiki>}}).
 +
 
 +
Change the auth section to read:
  
Modify the auth section of /etc/pam.d/login to this
 
 
  auth      required pam_env.so
 
  auth      required pam_env.so
  auth      sufficient  pam_fprint.so
+
  auth      sufficient  pam_fingerprint-gui.so
 
  auth      sufficient  pam_unix.so try_first_pass likeauth nullok
 
  auth      sufficient  pam_unix.so try_first_pass likeauth nullok
 
  auth      required pam_deny.so
 
  auth      required pam_deny.so
 +
 +
Add this to your ~/.bashrc file if you get an error saying that it can't connect to X desktop (see [[Xhost#The_.27cannot_connect_to_X_server_:0.0.27_output|this]] for more details).
 +
xhost + >/dev/null
 +
 +
Now run fingerprint-gui and register fingerprints for the current user. You will need to run fingerprint-gui and register fingerprints as all users you want to use the fingerprint reader, i.e. as root to use it for "su" login.

Revision as of 09:03, 9 December 2013

From the fprint homepage:

The fprint project aims to plug a gap in the Linux desktop: support for consumer fingerprint reader devices.

The idea is to use the built-in fingerprint reader in some notebooks for login using PAM. This article will also explain how to use regular password for backup login method (solely fingerprint scanner is not recommended due to numerous reasons).

Prerequisites

Make sure you have one of the supported finger scanners. You can check if your device is supported by checking this list of supported devices. To check which one you have, type

# lsusb

Installation

Install fprintd from the official repositories. imagemagick might also be needed.

Configuration

Login configuration

Note: If you use GDM, the fingerprint-option is already available in the login menu. You can skip this section!

Add pam_fprintd.so as sufficient to the top of the auth section of /etc/pam.d/system-local-login:

/etc/pam.d/system-local-login
auth      sufficient pam_fprintd.so
auth      include   system-login
...

This tries to use fingerprint login first, and if if fails or if it finds no fingerprint signatures in the give user's home directory, it proceeds to password login.

You can also modify other files in /etc/pam.d/ in the same way, for example /etc/pam.d/polkit-1 for GNOME polkit authentication.

Create fingeprint signature

To add a signature for a finger, run

$ fprintd-enroll

You will be asked to scan the given finger. After that, the signature is created in /var/lib/fprint/.

For more information, see man fprintd.

Setup fingerprint-gui

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: packages do not exist anymore (Discuss in Talk:Fprint#)

An alternate fingerprint reader gui. This works with libfprint-unstable which has support for the new Upeksonly readers, such as, the new Thinkpad W510 T510 T410 T420 Upeksonly reader with USB ID 147e:2016

http://www.thinkwiki.org/wiki/Integrated_Fingerprint_Reader

http://www.n-view.net/Appliance/fingerprint/

Install as dependency libfakekey and fingerprint-gui.

Please make sure your user is a member of "plugdev" and "scanner" group if you use UPEK non-free library. You may also have to log out and back in for these changes to take effect.

# gpasswd -a USER plugdev
# gpasswd -a USER scanner

fingerprint-polkit-agent conflicts with files in /etc/xdg/autostart that must be removed:

"polkit-gnome-authentication-agent-1.desktop" and
"polkit-kde-authentication-agent-1.desktop".

Edit your PAM configuration (e.g., /etc/pam.d/{login,su,sudo,gdm}).

Change the auth section to read:

auth       required pam_env.so
auth       sufficient   pam_fingerprint-gui.so
auth       sufficient   pam_unix.so try_first_pass likeauth nullok
auth       required pam_deny.so

Add this to your ~/.bashrc file if you get an error saying that it can't connect to X desktop (see this for more details).

xhost + >/dev/null

Now run fingerprint-gui and register fingerprints for the current user. You will need to run fingerprint-gui and register fingerprints as all users you want to use the fingerprint reader, i.e. as root to use it for "su" login.