当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 10 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 关于在Thinkpad T43 系列机器上(Ubuntu 7.10)安装指纹识别设备(更新)
帖子发表于 : 2007-12-02 7:35 

注册: 2006-09-03 20:53
帖子: 196
送出感谢: 0 次
接收感谢: 0 次
关于在Thinkpad T43 系列机器上(Ubuntu 7.10)安装指纹识别设备(更新)
(以前论坛里发过关于在Ubuntu 6.0.6.1安装指纹的方法,我试过不行,经试装与应用此种在T43上机器过运行;还有论坛里介绍过在T60上的安装thinkfinger-0.3的方法,只是在提示输入指纹时没有图片提示,不直观)


参照这个Howto设置了T43上的指纹识别设备,在登录GDM时可以刷指纹了。

1. 安装bioapi framework

http://www.qrivy.net/~michael/temp/ 下载bioapi_1.2.3_i386.deb
引用:

$ sudo dpkg -i bioapi_1.2.3_i386.deb

不用理会出现的"Ignore the warning about not finding /usr/lib/libqtpwbsp.so"这个错误信息,

用ldconfig命令验证
引用:

$ ldconfig -p |grep bioapi

我这里的输出是:
引用:

libbioapi100.so.0 (libc6) => /usr/lib/libbioapi100.so.0
libbioapi100.so (libc6) => /usr/lib/libbioapi100.so
libbioapi_mds300.so.0 (libc6) => /usr/lib/libbioapi_mds300.so.0
libbioapi_mds300.so (libc6) => /usr/lib/libbioapi_mds300.so
libbioapi_dummy100.so.0 (libc6) => /usr/lib/libbioapi_dummy100.so.0
libbioapi_dummy100.so (libc6) => /usr/lib/libbioapi_dummy100.so

2. 安装并配置指纹识别设备的驱动

2.1 安装驱动

http://www.upek.com/support/dl_linux_bsp.asp 下载TFMESS_BSP_LIN_1.0.zip
引用:

$ unzip TFMESS_BSP_LIN_1.0.zip -d tfmess

$ cd tfmess

$ sudo sh install.sh /usr/lib

2.2 配置权限使非root用户也可以使用
引用:

$ sudo addgroup --system bioapi
$ sudo addgroup --system usbfs
$ sudo adduser yournormaluser bioapi
$ sudo adduser yournormaluser usbfs

把yournormaluser换成你的用户名。

修改/etc/udev/rules.d/40-permissions.rules
在:
# USB devices (usbfs replacement)
添加一行
引用:

SUBSYSTEM=="usb_device", GROUP="usbfs" , MODE="0660"

2.3 用TFMESS_BSP_LIN_1.0.zip带的工具测试
引用:

$ cd tfmess

$ cd NonGUI_Sample

$ vi main.c

注释掉这行 #include "port/bioapi_port.h"
引用:

$ gcc -o Sample main.c -L/usr/local/lib -lbioapi100 -DUNIX -DLITTLE_ENDIAN

应该有一个叫Sample的程序生成。用root身份运行这个程序
引用:


$ sudo ./Sample

出现一个菜单:
引用:

e .. Enroll
v .. Verify
m .. Verify Match
c .. Capture and Create Template
q .. quit

输入e,再按照提示给出你的用户名后就会出现一个输入指纹的小窗口,连续刷3次,你的指纹就录入到文件中了,文件名是你的用户名+.bir

输入v是检验已输入的指纹。




3. 安装pam_bioapi

下载 http://www.nax.cz/pub/bioapi/pam_bioapi ... 3.0.tar.gz
引用:(如编译有问题请安装:gcc编译环境 + libtool + pkg-config + libpam0g-dev + libusb-dev
如果缺少先使用apt-get更新安装)

$ sudo apt-get install libpam0g-dev

$ sudo apt-get install sqlite3 libsqlite3-dev

$ tar xvzf pam-bioapi_0.3.0.tar.gz

$ cd pam-bioapi

$./configure --with-securedir=/lib/security --with-birdir=/etc/bioapi1.0

$ sudo make install
$ sudo mkdir /etc/bioapi1.0(如没有此目录手工增加一个)

下面要取得指纹设备的序列号用来设置pam
引用:

$ SERIAL=`sudo BioAPITest | sed -ne "/Fingerprint/{n;n;s/^.*: \(.\{9\}\)\(.\{4\}\)\(.\{4\}\)\(.\{4\}\)\(.*\)/\1-\2-\3-\4-\5/gp}"`

$ echo $SERIAL

结果是像这样的一串字符 {5550454b-2054-464d-2f45-535320425350}

此安装完毕后在 为/etc/bioapi1.0目录,并需要在此目录下人工建立一个为pam的子目录

修改/etc/pam.d/common-auth

注销这一行
auth required pam_unix.so nullok_secure



更新:要改成下面这样
引用:

auth sufficient pam_bioapi.so {5550454b-2054-464d-2f45-535320425350} /etc/bioapi1.0/pam/biopasswd.db
password sufficient pam_bioapi.so {5550454b-2054-464d-2f45-535320425350} /etc/bioapi1.0/pam/biopasswd.db
auth required pam_unix.so nullok_secure


然后用root身份执行test_enroll-pam_bioapi命令(在/usr/local/bin下)来保存用户对应的指纹信息。
引用:

$ sudo test_enroll-pam_bioapi

完成后,/etc/bioapi/pam下应该生成一个biopasswd.db的SQLite数据库文件,可以用sqlite3命令查看。
引用:

$ sudo sqlite3 /etc/bioapi/pam/biopasswd.db

sqlite> .schema
CREATE TABLE biodata (id INTEGER PRIMARY KEY,uid INTEGER,uuid TEXT,header BLOB,data BLOB,signature BLOB,type INTEGER,other BLOB);
sqlite> select count(*) from biodata;
1
sqlite> .quit

如果没有生成,就用sqlite3命令手工建立这个数据库。
引用:

$ sudo sqlite3 /etc/bioapi/pam/biopasswd.db

sqlite> CREATE TABLE biodata (id INTEGER PRIMARY KEY,
uid INTEGER,
uuid TEXT,
header BLOB,
data BLOB,
signature BLOB,
type INTEGER,
other BLOB);
sqlite> .quit

可以多次执行test_enroll-pam_bioapi命令为一个用户关联多个指纹。用test_verify-pam_bioapi命令验证指纹。

也可以安装pamtester针对某个pam service进行测试。
引用:

$ sudo pamtester gdm guoyong authenticate

没有问题的话,就可以退出Gnome测试一下了。

用指纹代替密码后,再进行一些系统操作需要口令时,基本都可以用指纹代,除终端有英文提示输入指纹外,其它没有任何提示,只是鼠标在动,你不用等待,此时可直接输入指纹,即可通过,至于在系统 里指纹输入提示界面出不来,我再查查看。


_________________
ThinkPad T43 44U
1.5G X300

Gutsy
Compiz-fusion


最后由 lijzz 编辑于 2007-12-03 0:16,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-12-02 11:53 

注册: 2007-06-17 15:26
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
太好了,正在找 :D


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-12-02 11:53 

注册: 2007-06-17 15:26
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
太好了,正在找 :D


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-12-02 15:45 

注册: 2007-01-03 11:53
帖子: 106
送出感谢: 0 次
接收感谢: 0 次
这个一定要顶的。指纹识别一直没有成功过。有空试试。。。。 :D


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-12-07 2:04 
头像

注册: 2007-09-01 12:04
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
我出来看帖不回
今天破例了 哈哈 真是好贴啊


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2007-12-28 22:42 
头像

注册: 2005-12-12 19:10
帖子: 117
地址: 山西左权
送出感谢: 2
接收感谢: 1
鄙视,完全抄袭本分论坛的另外一篇文章!这也能拿精华?
错误都是一样的!楼主的系统ID也是guoyong?
真是抄都不会抄!


_________________
以前佩服德国,一个国家就能单挑那么多还差点打赢;现在鄙视德国,一个国家怎么总搞到被群殴!
以前鄙视苏联,被打得半死;现在佩服苏联,被打成那样不死还能扳回来!
以前鄙视美国,不就是凭着块大;现在佩服美国,有本事你也那么强大!

Thinkpad R400 P8700/4g RAM/320G+160G sata Disk/Windows 7 + Ubuntu 11.10


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-12-29 14:11 

注册: 2006-09-03 20:53
帖子: 196
送出感谢: 0 次
接收感谢: 0 次
datafly 写道:
鄙视,完全抄袭本分论坛的另外一篇文章!这也能拿精华?
错误都是一样的!楼主的系统ID也是guoyong?
真是抄都不会抄!


我说你长眼睛说瞎话,我在发贴时也声明过,你完全看看贴子再说吧:
关于在Thinkpad T43 系列机器上(Ubuntu 7.10)安装指纹识别设备(更新)
(以前论坛里发过关于在Ubuntu 6.0.6.1安装指纹的方法,我试过不行,经试装与应用此种在T43上机器过运 行;还有论坛里介绍过在T60上的安装thinkfinger-0.3的方法,只是在提示输入指纹时没有图片提示,不直观)

再说以前那个贴子在安装时有些问题,我也参与更正过,你用眼睛好好看看.这里只是说一下自己好的一个实践结果,并没其它意思,你难受什么?要不要论坛干什么?


_________________
ThinkPad T43 44U
1.5G X300

Gutsy
Compiz-fusion


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2007-12-30 10:29 
头像

注册: 2005-12-12 19:10
帖子: 117
地址: 山西左权
送出感谢: 2
接收感谢: 1
很好,我承认错误。
同是黑友,握爪。
我承认我是在照单抓药,鼓捣几次失败后,出于气头才出狂言的。
Sorry ^_^
刚换的T43,有指纹扫描的东东就玩玩。

回到正题,问题如下:
楼主的文章中重点强调

代码:
“此安装完毕后在 为/etc/bioapi1.0目录,并需要在此目录下人工建立一个为pam的子目录 ”


况且况且况且况且况且况且况且况且况且,

代码:
“修改/etc/pam.d/common-auth
注销这一行
auth required pam_unix.so nullok_secure

更新:要改成下面这样
引用:
auth sufficient pam_bioapi.so {5550454b-2054-464d-2f45-535320425350} /etc/bioapi1.0/pam/biopasswd.db
password sufficient pam_bioapi.so {5550454b-2054-464d-2f45-535320425350} /etc/bioapi1.0/pam/biopasswd.db
auth required pam_unix.so nullok_secure””

但在其后却出现了
代码:
“完成后,[color=red]/etc/bioapi/pam[/color]下应该生成一个biopasswd.db的SQLite数据库文件,可以用sqlite3命令查看”


如何到一个不存在的目录中查看文件呢?

最后一行命令
代码:
sudo pamtester gdm guoyong authenticate

不知为什么pamtester我没有找到,而且能否解释一下这个gouyong是从那里来的吗?是不是应该改成yourname比较好啊?人家好歹有图说明人家的用户名是guoyong嘛!

最后,俺是在黑友大本营的51nb找到的解决方法,思路相同,方法类似(要相对简单点),不过总算顺利解决问题了

部分转贴(http://www.51nb.com/viewnews-9922)如下:
代码:
12、指纹识别
尽管ibm(其实应该是lenovo吧)并无官方支持,指纹识别却实实在在地与大多数linux发行版和睦相处。在ubuntu下搞定它比较麻烦,不过依然是可行的。简言之,我们需要一个PAM的bioAPI插件。之

后如GDM等PAM相关程序以及gnome屏保就能够自动识别并调用指纹识别器了,很酷呃~

http://www.qrivy.net/~michael/temp/
下载最新的bioapi软件包(写此文时为bioapi_1.2.3_i386.deb)。看到火狐的下载提示时,直接选择使用GDebi package installer打开即可。
bioAPI安装完毕。我们现在需要的是指纹设备的驱动(UPEK生产)。到
http://www.upek.com/support/dl_linux_bsp.asp
下载最新版本文件,目前为UPEK_BSP_LIN_1.0.zip。解压,打开终端进入存放解开文件的目录,输入:
$ sudo bash
# sh install.sh /usr/lib
分配权限使非根(non-root)应用程序也可使用驱动:
# addgroup --system bioapi
# addgroup --system usbfs
# adduser yourusername bioapi
# adduser yourusername usbfs
# chown -R root:bioapi /usr/var/bioapi/
# chmod -R 770 /usr/var/bioapi/
# chown -R root:usbfs /proc/bus/usb
# chmod -R g+X /proc/bus/usb

将上面的“yourusername”替换为你的登录名。现在设置usb文件系统(usbfs)以使之可为usbfs组中用户所用
首先应确定usbfs组ID:
# cat /etc/group | grep usbfs | cut -d':' -f 3

我机器上的情况是116,不同机器或许有不同情况。现在,打开/etc/fstab:
#sudo gedit /etc/fstab
加入一行:
none /proc/bus/usb usbfs defaults,devgid=116,devmode=0660,busgid=116,busmode=0770,listgid=116,listmode=0660 0 0
必要的话将116改为cat一步得到的id
最后一件与权限相关的问题,UDEV。打开UDEV权限文件
#sudo gedit /etc/udev/rules.d/40-permissions.rules
找到如下行:
SUBSYSTEM=="usb_device", MODE="0664"
在我的文件中这是第65行。将其改为:
SUBSYSTEM=="usb_device", MODE="0660", GROUP="usbfs"
现在就可以将指纹存入系统了。这需要一个叫Sample的工具。这里有一个编译好的版本:
ftp://linux:Tuc-nak3@delta.upek.com/TFMESS_BSP_LIN_1.0beta2.zip
解压之,同样打开终端进入目录:
# cd NonGUI_sample
# chmod a+x Sample
# ./Sample

按(e)登记一个新用户,输入用户名,要求刷指纹时按(v),刷刷刷。。。 成功了吧~
若Sample无法正常工作,可能是PAM开发模块没有安装,可尝试:
# sudo apt-get install libpam0g-dev

图 8 登记指纹提示



帅呆~!现在,退出程序(q)并在终端使用exit结束此次会话回到普通用户身份。一个以您登录名命名的bir文件已经就绪,将其复制到您的home:
# cp yourusername.bir /home/yourusername/

现在您可以关闭终端窗口了。我们下一步要安装PAM的bioAPI插件,并使其可为程序所用。所以首先下载此插件:
http://www.nax.cz/pub/bioapi/pam_bioapi/pam-bioapi_0.3.0.tar.gz
解压后打开终端,这一步是编译前的准备工作:
$ sudo apt-get install build-essential
$ sudo apt-get install libpam0g-dev
现在就可以进入解压目录并编译安装插件了:
$ cd /解压路径
$ ./configure --libdir=/lib --enable-file-store && make
$ sudo make install
至此插件安装完毕,在终端中:
$ cd ~
$ sudo bash
开启一个跟会话(root session),在我告诉您之前不要关闭此终端窗口。现在,粘贴下面这些唬人的命令行吧 :

SERIAL=`BioAPITest | sed -ne "/Fingerprint/{n;n;s/^.*: \(.\{9\}\)\(.\{4\}\)\(.\{4\}\)\(.\{4\}\)\(.*\)/\1-\2-\3-\4-\5/gp}"`

请用以下命令以注册您的bioAPI用户名及序列号:

# mkdir -p /etc/bioapi/pam/$SERIAL
# cp yourusername.bir /etc/bioapi/pam/$SERIAL/
# exit

呼。。。。。。现在,要让程序实实在在地使用指纹识别器,还要在终端里呆一会儿 :
$ sudo gedit /etc/pam.d/common-auth

删除文件中的所有内容,复制/粘贴以下内容:

# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
# traditional Unix authentication mechanisms.
#
auth sufficient pam_bioapi.so {5550454b-2054-464d-2f45-535320425350} /etc/bioapi/pam/
password sufficient pam_bioapi.so {5550454b-2054-464d-2f45-535320425350} /etc/bioapi/pam/
auth required pam_unix.so nullok_secure

存盘退出。我们刚刚制作了一个让指纹识别通用软件能正常使用指纹识别器的程序。很不幸——这依旧包含着sudo,鉴于sudo是基于命令行的,我们看到的指纹输入提示也是会出现在终端当中,这本身没什么问题。但往下就有了问题:在

ubuntu 中许多需要管理员身份验证的程序(比如新立得软件包管理器)使用了gksu来实现一个图形化的sudo前端,它将会在命令行里显示一个您永远无法看到的信息。这样的结果就是:管理员权限的程序无法在gnome中运行。解决的方法是让sudo老老实实的。。。。打开终端:

$ sudo gedit /etc/pam.d/sudo
删除所有内容,复制粘贴以下内容:

#%PAM-1.0

#@include common-auth
auth required pam_unix.so nullok_secure
@include common-account

若您同样希望能在终端中使用指纹识别,还可以使用这一个/etc/pam.d/sudo文件

#%PAM-1.0

#@include common-auth
auth sufficient pam_unix.so nullok_secure
auth required pam_bioapi.so {5550454b-2054-464d-2f45-535320425350} /etc/bioapi/pam/
password required pam_bioapi.so {5550454b-2054-464d-2f45-535320425350} /etc/bioapi/pam/
@include common-account

这样一来,在使用中您会先被要求输入口令,但您可以不必理会,直接回车后我刷刷刷。。。

保存退出重启系统。GDM一如往常要求登录名,然后~~一个漂亮的指纹登录提示就会出现了。在gnome屏保中如果设置了密码功能,同样可以实现指纹登录的效果。区别是有时gnome屏保没有刷指纹的提示,但您一样可以刷指纹返回桌面。


注意
若您的系统是kubuntu,则不会在KDM中看到提示,只要在输入登录密码时直接回车,并等待光标停止闪烁后刷指纹即可登录。
若您使用SSH远程登录您的本本,您需要禁用ssh中的common-auth。否则远程登录时还是需要您去本本那里实实在在地刷那么一下,汗。若需修改,编辑/etc/pam.d/ssh
找到
@include common-auth
改为
#@include common-auth
auth required pam_unix.so nullok_secure




没智力,有体力。解决了问题,总是好事情。对不?


_________________
以前佩服德国,一个国家就能单挑那么多还差点打赢;现在鄙视德国,一个国家怎么总搞到被群殴!
以前鄙视苏联,被打得半死;现在佩服苏联,被打成那样不死还能扳回来!
以前鄙视美国,不就是凭着块大;现在佩服美国,有本事你也那么强大!

Thinkpad R400 P8700/4g RAM/320G+160G sata Disk/Windows 7 + Ubuntu 11.10


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-03-23 20:09 

注册: 2007-09-12 11:16
帖子: 7
送出感谢: 0 次
接收感谢: 0 次
:( :( 什么都装好了,就是启动的时候输入了用户名不能刷手指头。。。没反应。。。


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2008-03-25 13:38 

注册: 2007-07-09 0:09
帖子: 44
地址: 上海
送出感谢: 0 次
接收感谢: 0 次
不知道在T60上面是否也可以哦。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 10 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译