Bug 2273942

Summary: SDDM also displays users with disabled logins
Product: [Fedora] Fedora Reporter: Lukas Ruzicka <lruzicka>
Component: sddmAssignee: Neal Gompa <ngompa13>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 40CC: fzatlouk, geraldo.simiao.kutz, jgrulich, kde-sig, m, ngompa13, pierluigi.fiorini, rdieter, robatino
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: RejectedBlocker AcceptedFreezeException
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-05-16 08:03:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2187795    
Attachments:
Description Flags
KDE login screen
none
Gnome login screen none

Description Lukas Ruzicka 2024-04-08 09:53:57 UTC
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.

Comment 1 Lukas Ruzicka 2024-04-08 09:56:15 UTC
See the screenshots from KDE and Gnome.

Comment 2 Lukas Ruzicka 2024-04-08 09:57:07 UTC
Created attachment 2025823 [details]
KDE login screen

Comment 3 Lukas Ruzicka 2024-04-08 09:57:48 UTC
Created attachment 2025824 [details]
Gnome login screen

Comment 4 Fedora Blocker Bugs Application 2024-04-08 11:11:43 UTC
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.

Comment 5 Geraldo Simião 2024-04-08 14:21:46 UTC
I confirmed this bug in my VM F40 updated setup.

Comment 6 František Zatloukal 2024-04-08 20:06:56 UTC
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

Comment 7 Aoife Moloney 2025-04-25 10:25:23 UTC
This message is a reminder that Fedora Linux 40 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 40 on 2025-05-13.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '40'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version. Note that the version field may be hidden.
Click the "Show advanced fields" button if you do not see it.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 40 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 8 Aoife Moloney 2025-05-16 08:03:59 UTC
Fedora Linux 40 entered end-of-life (EOL) status on 2025-05-13.

Fedora Linux 40 is no longer maintained, which means that it
will not receive any further security or bug fix updates. As a result we
are closing this bug.

If you can reproduce this bug against a currently maintained version of Fedora Linux
please feel free to reopen this bug against that version. Note that the version
field may be hidden. Click the "Show advanced fields" button if you do not see
the version field.

If you are unable to reopen this bug, please file a new report against an
active release.

Thank you for reporting this bug and we are sorry it could not be fixed.