Skip to content

[BUG] Can't log in with winbind-backed AD accounts #102

Description

@bmoller

Submission checklist

  • I have searched existing issues and confirmed this is not a duplicate.
  • I am using the latest available version of noctalia-greeter.

Bug description

Support for Active Directory users provided by Samba's winbind is totally broken. Some of this is probably a feature request, but I've also found an error that is currently generated. Attempting to log in with the standard AD syntax of <DOMAIN>\<USER>, by forcing selection of that user as default in greeter.toml, returns the following error at the greeter:

protocol error: invalid type: string "HOME\\brandon", expected a borrowed string at line 1 column 74

Steps to reproduce

  1. Configure the pam_winbind.so module for PAM authentication against an Active Directory domain
  2. Verify that login at a TTY works with an AD user (home\brandon)
  3. Verify that the AD user is not shown in the noctalia-greeter user selection
  4. Add the user by hand as default under [user] in /var/lib/noctalia-greeter/greeter.toml
  5. Restart the greeter and attempt to log in as the configured default user

Expected behavior

Login should work for any valid user otherwise accepted by PAM.

As a further enhancement, it would be nice to at least be able to manually enter a username as well. It's common to not set up winbind to enumerate users and groups for NSS, and if I read the code correctly that will prevent the user from showing up. I also don't see my user returned from the cache call to org.freedesktop.Accounts via DBUS, which is not noctalia's fault, but a comment in the code suggests it at least works for regular LDAP.

Actual behavior

The greeter prints the following error below the session selection drop-down:

protocol error: invalid type: string "HOME\\brandon", expected a borrowed string at line 1 column 74

If I change the default user in greeter.toml to <USER>@<DOMAIN> format, login succeeds (brandon@home).

Testing DBUS, a call to list cached users does not return any results, but querying the user by name in standard <DOMAIN>\<USER> format works.

Image Image

Logs / error output


noctalia-greeter version

1.2.1.r206.g10d2c9074

Distribution

Arch-based

Environment information

Installation method: AUR
greetd user: greeter
GPU / driver: nvidia-open
Monitor setup: multi-monitor

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions