Open haizaar opened 1 year ago
Otherwise it will be great is someone can suggest how to override PAM configuration for SDDM to exclude the fingerprint (On the initial login I still prefer to use password to unlock the kwallet)
Eventually I've used the following to reset SDDM config to pre-fingerprint state (note the mkForce
):
security.pam.services.sddm.text = pkgs.lib.mkForce ''
# Account management.
account required pam_unix.so
# Authentication management.
auth optional pam_unix.so nullok likeauth
auth optional ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so kwalletd=${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5
auth sufficient pam_unix.so nullok likeauth try_first_pass
auth required pam_deny.so
# Password management.
password sufficient pam_unix.so nullok yescrypt
# Session management.
session required pam_env.so conffile=/etc/pam/environment readenv=0
session required pam_unix.so
session required pam_loginuid.so
session required ${pkgs.pam}/lib/security/pam_lastlog.so silent
session optional ${config.systemd.package}/lib/security/pam_systemd.so
session optional ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so kwalletd=${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5
'';
The fingerprint login is working fine for me. Did you enroll fingerprints using fprintd-enroll
?
My issue is that while fingerprint login works fine, if I try to use the password there's a very long delay. I believe this is due to a delay in a timeout of the fingerprint and then it accepts the password.
My hypothesis is that the first couple of lines need to be reversed in many of the auth files. For example in /etc/pam.d/kde
, I currently have:
# Account management.
account required pam_unix.so
# Authentication management.
auth sufficient /nix/store/d438ss528yz53y28kf1s2apm49irwjh7-fprintd-1.94.2/lib/security/pam_fprintd.so
auth sufficient pam_unix.so nullok likeauth try_first_pass
I believe that under the # Authentication management
section, those lines should be reversed such that the pam_unix.so
line is above the pam_fprintd.so
line.
The same holds true for /etc/pam.d/login
where the pam_fprintd.so
is above the pam_unix.so
.
Are you on 23.05 or unstable? - sddm 0.20 has been recently merged into unstable and is substantially different.
Fingerprints work fine on my system for VT login, sudo, screen-unlock, 1password, etc. but when pam_fdpring.so
is enabled for sddm then I can not login through it using either way.
It's not a major issue (except for the time it took to hack it) since kdewallet doesn't support fingerprint unlock anyway and hence I need to type my password on login anyways.
@haizaar - I'm on unstable. I am now having issues were I cannot use the password if I want to - which is really annoying when my laptop is docked and I don't want to open the lid.
I think I'm going to disable now too since, as you mentioned, I have to type in my password for kdewallet anyway.
I also ran into this issue recently, and my workaround is to have
security.pam.services.login.fprintAuth = false;
This disables fingerprint login, but keeps fingerprint unlock.
I'm also using this workaround, but I noticed that when you keep fingerprint unlock enabled, it has the same issue with waiting 30 seconds if you only type the password. I also disable the fingerprint unlock by adding: (I'm on KDE Plasma 5.27.10)
security.pam.services.kde.fprintAuth = false;
Note that I can still use fingerprints for the rest of the pam services, like sudo
.
@haizaar I don't know if you're still having trouble with this but I have some insight.
My sddm login does the same thing and give the same message in the log:
Jun 26 00:32:20 asgard sddm[1245]: Authentication information: "Place your finger on the fingerprint reader"
fprintd login is working, but the sddm bug is that it doesn't show the pam message. If the login in hanging after you put in your password, just use your fingerprint. It is waiting, it just isn't telling you.
Describe the bug
SDDM doesn't work with fingerprint login - the whole thing appears to be "stuck". Arch wiki says it should work.
The same setup works fine if I use GDM instead.
Steps To Reproduce
Steps to reproduce the behavior:
configuration.nix
nixos-rebuild boot
Expected behavior
On the login page, both password and fingerprint login will work. Instead neither work - if I use password login, the UI prompt gets disabled and never returns. plain your problem.
Additional context
Here are the relevant entries from
journalctl
The full boot log is here
Notify maintainers
@abbradar @ttuegel
Metadata