Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/index.php/Reporting_Bug_Guidelines

Do NOT report bugs when a package is just outdated, or it is in Unsupported. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#67310 - [systemd] Fails to enumerate users

Attached to Project: Arch Linux
Opened by LucaS (luca020400) - Friday, 17 July 2020, 17:38 GMT
Last edited by Andreas Radke (AndyRTR) - Saturday, 18 July 2020, 09:18 GMT
Task Type Bug Report
Category Packages: Core
Status Assigned
Assigned To Christian Hesse (eworm)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No

Details

Description:

I just installed ArchLinux and decided to try systemd-homed
Everything works smoothly while using a normal TTY, I can login and see my $HOME

But as soon as I try a graphical login interface ( tried GDM and SDDM ) they either fail to start ( GDM ) or show an empty screen with no users ( SDDM )
If I add a normal user via the `useradd` command they start working again, but of my homed user isn't available

Misc information
Using fscrypt as the storage backend
command used to create user: homectl create $USER --storage=fscrypt -G wheel --shell=/usr/bin/zsh

Now trying with LUKS to see if the storage might be the issue

Additional info:
* package version(s):
systemd 245 (245.6-8-arch), GDM 3.36.3, sddm-0.18.1-2
* config and/or log files etc.:
I tried to strace gdm and it's polling for some event, likely waiting for users to show up
* link to upstream bug report, if any:
Will probably do

Steps to reproduce:
Setup systemd-homed as showed in https://wiki.archlinux.org/index.php/Systemd-homed
Setup a graphical login interface
This task depends upon

Comment by Eli Schwartz (eschwartz) - Friday, 17 July 2020, 18:23 GMT
How is this supposed to work? I don't know much about systemd-homed, but I'm very skeptical of what I do know, precisely because the whole point is kind of that the user doesn't exist yet and if encrypted, you can't even get account info until after you login.

It sounds like gdm just doesn't support systemd-homed. Unless you've left out setting up the PAM module.
Comment by LucaS (luca020400) - Friday, 17 July 2020, 18:31 GMT
I re-installed everything from scratch in a virtual machine and now fscrypt works.
I start to think it might be caused by my / being f2fs
Time to test.

gdm uses the standard login module via PAM, so indeed it /should/ work :)
Comment by Jan de Groot (JGC) - Wednesday, 22 July 2020, 09:49 GMT
gdm uses accountservice to list users. As the user doesn't exist until you login, accountsservice will not know about the user.
Comment by LucaS (luca020400) - Wednesday, 22 July 2020, 10:02 GMT
I'm pretty sure I logged in with the user in a normal TTY and it didn't work.
Is the account list cached?
Comment by Jan de Groot (JGC) - Wednesday, 22 July 2020, 11:12 GMT
accountsservice uses /etc/passwd and /etc/shadow for the user list, it doesn't support PAM and NSS modules for the user list.

This is a limitation in your situation, however, think of adding LDAP authentication to your system. Do you want to enumerate all employees in a company there? Makes no sense.

Loading...