The user in bug 2125403 is using "compat" rather than "files" for
passwd, group, and shadow[1]. I don't grok the generated postinst well
enough to be sure, but I think that means that since we have
"after=files" in libnss-systemd.nss, the sed expressions don't match the
existing content of /etc/nsswitch.conf:
root@q:~# cat /var/lib/dpkg/info/libnss-systemd\:amd64.postinst
#!/bin/sh
set -e
# Automatically added by dh_installnss/1.7
if [ "$1" = "configure" ] && [ -f
"${DPKG_ROOT}/etc/nsswitch.conf.nss.${DPKG_MAINTSCRIPT_PACKAGE}-will-install" ]
&& [ -e "${DPKG_ROOT}/etc/nsswitch.conf" ] ; then
if ! grep -q -E -e '^group:[^#]*\s(systemd)(\s|#|$)' -e
'^gshadow:[^#]*\s(systemd)(\s|#|$)' -e '^passwd:[^#]*\s(systemd)(\s|#|$)' -e
'^shadow:[^#]*\s(systemd)(\s|#|$)' "${DPKG_ROOT}/etc/nsswitch.conf" ; then
# Installing passwd/systemd from libnss-systemd in position
after=files
sed -E -i "${DPKG_ROOT}/etc/nsswitch.conf" -e
'/^passwd:\s[^#]*$/ s/(\s)(files(\s+\[[^]]+\])?)(\s|$)/\1\2 systemd /' -e
'/^passwd:\s.*#/ s/(\s)(files(\s+\[[^]]+\])?)(\s|#)/\1\2 systemd \3/' -e 's/
$//'
# Installing group/systemd from libnss-systemd in position
after=files
sed -E -i "${DPKG_ROOT}/etc/nsswitch.conf" -e
'/^group:\s[^#]*$/ s/(\s)(files(\s+\[[^]]+\])?)(\s|$)/\1\2 systemd /' -e
'/^group:\s.*#/ s/(\s)(files(\s+\[[^]]+\])?)(\s|#)/\1\2 systemd \3/' -e 's/ $//'
# Installing shadow/systemd from libnss-systemd in position
after=files
sed -E -i "${DPKG_ROOT}/etc/nsswitch.conf" -e
'/^shadow:\s[^#]*$/ s/(\s)(files(\s+\[[^]]+\])?)(\s|$)/\1\2 systemd /' -e
'/^shadow:\s.*#/ s/(\s)(files(\s+\[[^]]+\])?)(\s|#)/\1\2 systemd \3/' -e 's/
$//'
# Installing gshadow/systemd from libnss-systemd in position
after=files
sed -E -i "${DPKG_ROOT}/etc/nsswitch.conf" -e
'/^gshadow:\s[^#]*$/ s/(\s)(files(\s+\[[^]]+\])?)(\s|$)/\1\2 systemd /' -e
'/^gshadow:\s.*#/ s/(\s)(files(\s+\[[^]]+\])?)(\s|#)/\1\2 systemd \3/' -e 's/
$//'
fi
rm
"${DPKG_ROOT}/etc/nsswitch.conf.nss.${DPKG_MAINTSCRIPT_PACKAGE}-will-install"
fi
# End automatically added section
In other words, since the user did not have "files" listed for those
dbs, "systemd" does not get added. It's also unclear to me from the
docs[2] what to do in this case.
Can we just add "after=compat" entries as a fallback to libnss-
systemd.nss?
[1] https://bugs.launchpad.net/ubuntu/+source/gdm3/+bug/2125403/comments/4
[2] https://manpages.debian.org/unstable/dh-nss/dh_installnss.1.en.html
** Changed in: systemd (Ubuntu)
Assignee: (unassigned) => Nick Rosbrook (enr0n)
** Tags added: dcr-incoming
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2121017
Title:
gdm3 49~beta doesn't start [unix_chkpwd: could not obtain user info
(gdm-greeter)] on systems installed before 2024
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dh-nss/+bug/2121017/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs