让智能卡正常工作一直很困难,现在又出问题了。我目前正在试图弄清楚升级到 21.04 后到底发生了什么变化。到目前为止,我发现了以下内容:
智能卡认证 从政府办公室到小型公司,智能卡无处不在。智能卡通过授权个人身份增加了额外的安全层。Ubuntu 21.04 支持通过 pam_sss 进行智能卡身份验证。
有关 pam_sss 的信息:https://manpages.ubuntu.com/manpages/bionic/man8/pam_sss.8.html
在 /etc 中搜索 pam_sss 实例并将其注释掉,但这无济于事,gdm 仍尝试强制使用智能卡身份验证。我通常使用 pcscd(不用于系统身份验证),但禁用 pcscd 并不能解决问题。其他东西正在控制卡并影响登录流程。
附加详细信息:我已使用以下命令更新了 /etc/pam.d/gdm-smarcard 的替代方案:
update-alternatives --config gdm-smartcard
选择/etc/pam.d/gdm-smartcard-sssd-or-password
然后我编辑了这个文件,使得该行:
auth sufficient pam_sss.so
不再包含对 allow_missing_name 或 try_cert_auth 的要求,根据 pam_sss.8 手册页。不行。Auth 忽略了我的更改。如果智能卡读卡器在登录时已连接,它会尝试强制进行智能卡身份验证。读卡器必须完全断开连接,否则我无法使用正常用户名/密码登录。
答案1
我必须使用此解决方案在插入智能卡时使用用户名/密码登录:
通过删除(或重命名为 .bkp)禁用智能卡守护程序自动启动
/etc/xdg/autostart/org.gnome.SettingsDaemon.Smartcard.desktop
消除
org.gnome.SettingsDaemon.智能卡;
来自下两个文件中的RequiredComponents列表(否则您将在登录屏幕后收到错误“哦不!出了点问题”):
/usr/share/gnome-session/sessions/gnome-login.session
/usr/share/gnome-session/sessions/ubuntu.session
PS 升级到 21.10 后再次出现错误“哦不!出问题了”,因为升级期间恢复了更改的文件。
PPS ubuntu.session 说“# 必须与[电子邮件保护]/ubuntu.session.conf 插件”。然而系统无需干预该文件即可运行
编辑:最近更新后,智能卡守护进程不知怎么启动了。不过重启还是有帮助的。
UPD:只需升级到 Ubuntu 22.04 - 就不再有这个问题了
sudo sed --in-place=.bkp --regexp-extended 's/org.gnome.SettingsDaemon.Smartcard;//' /usr/share/gnome-session/sessions/gnome-login.session
sudo sed --in-place=.bkp --regexp-extended 's/org.gnome.SettingsDaemon.Smartcard;//' /usr/share/gnome-session/sessions/ubuntu.session
sudo f=/etc/xdg/autostart/org.gnome.SettingsDaemon.Smartcard.desktop mv "$f" "$f.bkp"