Public bug reported:
TITLE:
gdm3 50: greeter UID range 60578-60705 conflicts with FreeIPA domain UIDs,
bypassing login screen
========================================================================
DESCRIPTION:
========================================================================
After upgrading gdm3 from 49.2 to 50 on Ubuntu 26.04, the login screen
no longer works correctly on FreeIPA-joined systems. Depending on system
state, it either autologs into a desktop session as the greeter user
bypassing authentication entirely, or shows the login screen but with
"gdm-greeter" already logged in — ignoring the disable-user-list=true
dconf setting that should require users to type their username.
Package versions:
-----------------
$ dpkg -l gdm3 gnome-session-bin libgdm1
ii gdm3 50~beta-0ubuntu3 amd64
ii gnome-session-bin 50~beta-0ubuntu1 amd64
ii libgdm1 50~beta-0ubuntu3 amd64
Environment:
------------
- Ubuntu 26.04 (Resolute)
- FreeIPA-joined via SSSD
- disable-user-list=true configured in /etc/dconf/db/gdm.d/00-login-screen
- Previous working version: gdm3 49.2-1ubuntu4
What is happening:
------------------
GDM 50 introduced a dynamic user store (GdmDynamicUserStore) that
allocates a temporary UID for the greeter session, starting at 60578.
Our FreeIPA server has a custom Posix ID range of 50000-99999, which
overlaps with GDM's greeter range of 60578-60705. A FreeIPA domain user
named "gdm-greeter" exists at uid=60578 -- the exact start of GDM's
range.
This UID conflict causes the greeter session to fail. Depending on
system state, this manifests as either:
- The login screen appearing but showing "gdm-greeter" as the logged-in
user, ignoring the disable-user-list=true dconf setting that should
require users to type their username
- The system bypassing the login screen entirely and autologging into a
full desktop session as the FreeIPA gdm-greeter user
In both cases authentication is bypassed and normal login is impossible.
Key log entries:
----------------
$ journalctl -b | grep -i "gdm\|greeter"
gdm-launch-environment: pam_unix: session opened for user gdm-greeter(uid=995)
gdm-wayland-session: Unable to set up transient service directory:
XDG_RUNTIME_DIR "/run/user/60578" is owned by uid 60578, not our uid 995
gnome-session: unable to create directory '/run/user/60578/dconf': Permission
denied
gdm3: GdmDisplay: Session never registered, failing
gdm-launch-environment: pam_unix: session opened for user
gdm-greeter-2(uid=60579)
gnome-shell: Registering session with GDM [fallback succeeds as FreeIPA user]
Why this is a regression from 49.2:
------------------------------------
gdm3 49.2 had no /usr/share/gdm/greeter/wayland-sessions/ directory.
The greeter was launched directly without creating a full
systemd-logind Wayland session, so /run/user/<uid> was never involved
and the UID conflict could not occur.
gdm3 50 introduced:
/usr/share/gdm/greeter/wayland-sessions/gnome-greeter.desktop
This causes the greeter to be launched as a proper Wayland session with
full logind plumbing, which is what exposes the UID conflict.
Why the UID range cannot be overridden:
----------------------------------------
GDM's meson.build reads the greeter UID range from systemd pkg-config:
greeter_uid_min = systemd_dep.get_variable(
'greeter_uid_min', default_value: '60578')
greeter_uid_max = systemd_dep.get_variable(
'greeter_uid_max', default_value: '60705')
On Ubuntu, systemd does not expose these variables:
$ pkg-config systemd --variable=greeter_uid_min
(no output)
$ pkg-config systemd --variable=greeter_uid_max
(no output)
GDM therefore always falls back to the hardcoded defaults with no way
to override them.
FreeIPA ID range:
-----------------
$ ipa idrange-find
Range name: OFFICE.LAN_id_range
First Posix ID of the range: 50000
Number of IDs in the range: 50000
Note: this is a non-default FreeIPA configuration. The default FreeIPA
UID range starts around 1855600000 and would not conflict. This bug
affects deployments where FreeIPA was configured with a low custom UID
range overlapping 60578-60705.
Workaround:
-----------
Add to /etc/gdm3/custom.conf:
[daemon]
AutomaticLoginEnable = true
AutomaticLogin = yourusername
This bypasses the greeter entirely but removes password protection
on boot.
** Affects: gdm (Ubuntu)
Importance: Undecided
Status: New
** Tags: freeipa gdm3 resolute sssd
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2143165
Title:
gdm3 50: greeter UID range 60578-60705 conflicts with FreeIPA domain
UIDs
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gdm/+bug/2143165/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs