除首次登录外,所有操作均使用指纹识别器

除首次登录外,所有操作均使用指纹识别器

我想有效地利用笔记本电脑上的指纹识别器。我能够通过fprintPAM 配置指纹读取(使用第二条评论中描述的步骤这里),但我遇到了一个小问题。

使用指纹识别器登录时,GNOME 密钥环未解锁。现在我明白这是这种方式,因为fprint密钥环不支持基于硬件的密钥库解锁,例如 Windows Hello。我对此限制没有任何问题,但这意味着我必须在登录时输入密码。

我现在解决这个问题的方法是在第一次登录时等待 10 秒,这样指纹读取器就会超时,然后我会收到密码提示。然后我输入密码进行登录,密钥环通过登录解锁。当我解锁设备或随后运行 sudo 命令时,我仍然会使用指纹识别器。

所以我的问题是,是否可以配置 PAM,让我可以直接使用密码进行首次登录(无需等待指纹传感器超时),同时仍然允许我使用指纹解锁并运行 sudo 命令读者。

我正在使用 Cinnamon 桌面运行 Linux Mint。

答案1

嗯,这有点棘手。

各种服务的验证方法由目录中的文件控制/etc/pam.d/。该pam-auth-update命令将更新由特定于服务的文件创建的common-*文件。@include

我自己更喜欢 KDE,但 Cinnamon 是 GNOME 的衍生产品,因此它的初始登录可能由/etc/pam.d/gdm(或者/etc/pam.d/gdm-greeter如果存在的话)处理。您可以通过@include将该文件中的行替换为相应文件的内容来实现您想要的效果/etc/pam.d/common-*省略引用的行pam_fprintd。这应该会导致初始登录忽略与指纹传感器相关的所有组件,但其他所有组件仍然可以像往常一样进行指纹身份验证。

(您也可以以相反的方式实现相同的目的:通过使用pam-auth-update从文件中删除指纹身份验证配置common-*,然后将它们添加回您只需要的那些服务的特定于服务的文件中。但这似乎是比第一种方法需要更多工作。)

警告:如果出现拼写错误或其他错误,更改 PAM 配置文件很容易将您锁定在计算机之外。在编辑配置文件并注销以测试更改之前,请确保您有其他方法可以撤消更改,以防更改不起作用。

在这种情况下,切换到文本模式虚拟控制台,从那里登录并成为根用户,这样您就已经在该控制台上进行了完全身份验证。然后切换回 GUI 模式,进行更改(首先对要更改的任何文件进行备份)并注销 GUI 进行测试。如果 GUI 登录不再起作用,只需切换回您已经使用 root 权限登录的文本模式虚拟控制台,然后使用它来撤消您的更改。

或者,在进行更改之前从另一台计算机启动两个 SSH 会话,并在更改之前备份所有文件。

如果您将自己锁在门外,没有其他方法可以进入,则需要使用实时 Linux 介质启动系统,然后挂载根文件系统并撤消对其所做的更改。

答案2

我知道这是一个老问题,但我找到的解决方案比以前的答案简单得多。

您可以通过以下方式禁用 gdm(预登录)用户的指纹身份验证:

sudo -u gdm dbus-launch gsettings set org.gnome.login-screen enable-fingerprint-authentication false

除首次登录外,指纹识别器在其他任何地方(甚至锁定屏幕)都可以正常工作。

相关内容