Manjaro配置指纹授权

我的笔记本上有指纹识别设备,暂时没开root账户,感觉指纹代替密码授权是很有必要的,结果折腾了三四天,充分感受到谜底就在谜面上的惊悚。最主要的原因是fprintd的执行文件不叫fprintd,以为就是个api,重点去找fingerprint-gui之类图形界面应用,试遍了这类应用,都在build最后一步出错,去研究这步错在哪儿研究到绝望,最后回到学习fprintd的路子上,才发现需要的早就有了。

一、确定指纹设备是否在fprintd支持范围

绝大多数指纹设备都是USB设备,用 lsusb 命令可以查找USB设备的信息,记下信息带fingerprint sensor的设备ID号,我的是ID 138a:0017
然后到fprint官网,https://fprint.freedesktop.org/supported-devices.html,查找这个ID号的设备是否在支持列表中,一般都会在,linux系统中的指纹识别驱动及接口基本都是这家的。

二、安装和调试fprintd和libfprint

yay -S fprintd libfprint

fprintd是fprint的封装包,libfprint是设备驱动库。
fprintd不是执行文件的名字,查找一下它安装的文件。

yay -Ql fprintd

在 /usr/bin/下发现四个命令:fprintd-delete,fprintd-enroll,fprintd-list,frintd-verify

#登记指定账户的手指指纹,用一个手指刷到出complete为止。再运行可以登记其他手指。
fprintd-enroll username
#指定账户登记的指纹列表
fprintd-list username
#清空指定账户的登记指纹
fprintd-delete username
#校验指纹,这个刚登记完去试会报错,说设备已经opened,看来要注销重登录后再试。
fprintd-verify username

在安装好fprintd和libfprint后,系统设置—用户 页面里会出现“配置指纹身份验证”的按钮,下面Bla一堆话,都是没用的,这就只是个指纹登记、列表、删除三个命令的图形化展示,要用来身份验证还得自己动手设置。

三、配置指纹识别的PAM授权方案

不同的linux分发版本有不同的设计,我这个manjaro KDEmini试过了,/etc/pam.d/system-local-login指向system-login,system-login指向system-auth,删掉这个指向都没用,指纹授权方案只能加到/etc/pam.d/system-auth里才起作用。
怎么加又是个好玩的事,又灌了一堆姿势,最终我的设置如下:

#前面的设置不用动,省略
auth     sufficient            pam_fprintd.so
auth     sufficient            pam_unix.so          try_first_pass nullok
auth     [default=die]         pam_faillock.so      authfail
#后面的设置没动,省略

1、pam_fprintd.so指纹方案和pam_unix.so密码方案都用sufficient,是想任意一个正确就登录系统。
2、如果pam_unix.so放在pam_fprintd.so之前,输入正确密码即授权成功,输入错误密码则进入指纹识别,指纹识别有三次刷指纹的机会判断是否正确。
3、pam_fprintd.so放在pam_unix.so之前,是想sudo授权时不用看到输密码要求直接刷指纹。
3、pam_fprintd.so放在pam_unix.so之前,在系统登录时及屏幕解锁时,有个好玩的事:就算指纹方案在密码方案前,登录时也会出密码框,这个时候输入正确密码并不会解锁,因为系统只是暂存了密码,没进入到密码判断方案,先去的是指纹方案判断,如果你一开始输了正确密码,会发现要你刷指纹,你刷了三次错的指纹,呵,解锁了。

Tips:有次KDE wallet跳出来输密码,随手输了后,每次启动要输这个密码,chrome每次都跳出来要密码,然后找到KDE钱包设置,把启用KDE钱包子系统关了,这下好了,chrome还是跳,wifi每次要输密码。设置了钱包通知,chrome不跳了,wifi还是跳,注意到提示输wifi密码的是KDE daemon,钱包怎么设也没用。
又查了一堆姿势,后来总算理清了这个逻辑关系,chrome这个疯子先不管,wifi这个daemon是集成到了wallet里,不用不行,如果让wallet来管密码,wifi就不跳了,但是wallet每次系统登录要输密码,输慢了wifi取不到密码就连不上,有两种办法:一是wallet设管理账户一样的密码,启动时自动登录,这个方法我好象看到了文章,没试。因为发现了另外一种办法,修改wallet的密码,给他两个结结实实的回车空密码,拒绝他的安全恐吓,这个世界终于清净了。这个时候我才回忆起来这个事情怎么发生的:wallet跳出来要密码,我随手输了。
另外,用wallet,就乖乖用他的默认钱包:kdewallet这个名字,不要动它。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值