指纹认证不仅用于登录

Hen*_*rik 19 sudo authentication fingerprint-reader login gnome-keyring

我在 18.04 并已成功启用指纹登录。我想不仅使用我的指纹登录,而且如果可能的话还可以:

  1. 当我执行sudo命令时在终端中进行身份验证
  2. 在 Gnome 中进行身份验证(即安装应用程序等时)
  3. 解锁钥匙圈物品(这是我能找到的唯一信息,显然这是不可能的)

的输出grep print /etc/pam.d -R

/etc/pam.d/gdm-fingerprint:auth required    pam_fprintd.so
/etc/pam.d/gdm-fingerprint:password required       pam_fprintd.so
Run Code Online (Sandbox Code Playgroud)

内容 /etc/pam.d/gdm-fingerprint

#%PAM-1.0
auth    requisite       pam_nologin.so
auth    required    pam_succeed_if.so user != root quiet_success
auth    required    pam_fprintd.so
auth    optional        pam_gnome_keyring.so
@include common-account
# SELinux needs to be the first session rule. This ensures that any 
# lingering context has been cleared. Without this it is possible 
# that a module could execute code in the wrong domain.
session [success=ok ignore=ignore module_unknown=ignore default=bad]        pam_selinux.so close
session required        pam_loginuid.so
# SELinux needs to intervene at login time to ensure that the process
# starts in the proper default security context. Only sessions which are
# intended to run in the user's context should be run after this.
session [success=ok ignore=ignore module_unknown=ignore default=bad]        pam_selinux.so open
session optional        pam_keyinit.so force revoke
session required        pam_limits.so
session required        pam_env.so readenv=1
session required        pam_env.so readenv=1 user_readenv=1 envfile=/etc/default/locale
@include common-session
session optional        pam_gnome_keyring.so auto_start
password required       pam_fprintd.so
Run Code Online (Sandbox Code Playgroud)

内容 /etc/pam.d/sudo

#%PAM-1.0
session    required   pam_env.so readenv=1 user_readenv=0
session    required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
@include common-auth
@include common-account
@include common-session-noninteractive
Run Code Online (Sandbox Code Playgroud)

小智 47

sudo pam-auth-update
Run Code Online (Sandbox Code Playgroud)

并使用空格键Fingerprint authentication在对话框中启用:

PAM 的包配置

  • 有没有办法强制使用密码而不必等待 fprintd 对话框超时?假设我使用外部键盘和显示器,并且无法到达指纹传感器(典型的工作底座设置)。 (3认同)
  • 谢谢,但就其工作方式而言,与 sudo 一起使用它非常烦人。提示应显示消息“使用指纹传感器或输入密码”。所以它会允许两种方式。它只是显示消息,键盘输入不受保护。如果用户想要输入或错误地输入密码,则观察屏幕的每个人都会看到该密码。我现在正在使用外部显示器...所以我必须离开椅子才能戳指纹传感器..在这种情况下,我想轻松地使用密码... (3认同)
  • 至少从 Ubuntu 22.04 开始,您可以按 Ctrl+C 取消指纹提示并进入密码提示。否则,默认等待 10 秒后超时。您可以通过编辑 /etc/pam.d/common-auth 文件并更改“timeout=10”部分来自定义超时。 (3认同)