In my system (Fedora 40 KDE), I attempted to set up the PureFTP server and allow FTP connections to that machine. If I do not want to use my real system users, I can set up one global FTP user and have it cover all the virtual users inside the PureFTP. This global user, however, is a system user with disabled home directory and with disabled login, automatically, the user's ID is chosen as the lowest possible value AFTER other users, which results in the ID in the rank above 1000, being 1001 in my case. SDDM will still show this user in the login screen, although the real person sitting behind the keyboard cannot use that user to login. This, I believe, should not be happening. Reproducible: Always Steps to Reproduce: 1. Install Fedora 40 KDE. 2. Open Konsole. 3. Add a new group for FTP `groupadd ftpusers` 4. Add a new user within this group, with login disabled `useradd -g ftpusers -d /dev/null -s /sbin/nologin ftpuser` 5. Reboot the computer and watch the SDDM login screen. Actual Results: The user is shown at the SDDM login screen. Expected Results: The user should not be shown at the SDDM login screen, because one can't log in is that user. Only users with enabled log ins should be shown at that screen. The GDM behaves correctly and does not show that user. In the `sddm.conf`, there is a [Users] section that has a the HideShells option which is currently empty. When I change it to HideShell=/sbin/nologin that FTP user is not longer shown in SDDM which I think should be a default behaviour.
See the screenshots from KDE and Gnome.
Created attachment 2025823 [details] KDE login screen
Created attachment 2025824 [details] Gnome login screen
Proposed as a Blocker for 40-final by Fedora user lruzicka using the blocker tracking app because: This bug does not exactly violate the Login criterion per se, but on system with multiple users with disabled logins, the login screen could become confusing, so I am adding this to the blocker review discussions.
I confirmed this bug in my VM F40 updated setup.
Discussed during the 2024-04-08 blocker review meeting: [1] The decision to classify this bug as a RejectedBlocker (Final) and AcceptedFreezeException (Final) was made: "It's arguably a conditional criterion violation, but only with a fairly unusual condition (manually-created user account with UID >1000 and no login shell). We do grant it an FE, though; if we do want to change the default list of shells that cause a user to be hidden it seems reasonable to do that for release." [1] https://meetbot.fedoraproject.org/blocker-review_matrix_fedoraproject-org/2024-04-08/f40-blocker-review.2024-04-08-16.00.html