Might be a good move
Might be a good move
Posted Jun 26, 2025 6:51 UTC (Thu) by linuxrocks123 (guest, #34648)In reply to: Might be a good move by jem
Parent article: GNOME deepens systemd dependencies
(Fortunately, XDM actually can do the weird auth tricks, because PAM is in charge of all of the weird auth tricks, and login can use PAM, too.)
> The greeter needs to prompt the user to insert the token (USB key or smart card), and after that prompt for the PIN code.
The primary enterprise 2FA security theater crap I've encountered has been in the form of "install this stupid app on your phone, and, when you try to log in, we will hang the login until you respond to a notification on your phone." The greeter obviously has no role in that.
The greeter also has no role in the alternative 2FA security theater I encountered when I told an organization I didn't have a cell phone that would work with the app they wanted me to use, so they sent me a Yubikey USB device where you press a button and it spits out a bunch of letters. If someone wanted to use that with PAM, they could claim the USB keyboard device created when a Yubikey is plugged in and hang the login until the button is pressed and the letters are spit out.
Since those are the only two situations I've personally encountered, I'm unfamiliar with the enterprise 2FA security theater crap you're describing. If you're using a password, a PIN, and a smart card all together, that would be 3FA in a way which seems pointless because the password and PIN are duplicative factors. But, I guess PAM could probably take the PIN and password munged together if someone really wants that. For this smart card, it looks like there's a PIN but no password, so you can just put the PIN in the standard password field: https://docs.oneidentity.com/bundle/safeguard-authenticat...
> The greeter also needs to respond to errors, like if an invalid token is inserted or the wrong PIN code is entered.
PAM will just fail the login if that happens. An administrator could find the reason in the logs if it keeps happening.
