Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 2273942

Summary: SDDM also displays users with disabled logins
Product: [Fedora] Fedora Reporter: Lukas Ruzicka <lruzicka>
Component: sddmAssignee: Neal Gompa <ngompa13>
Status: NEW --- 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: 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