Bug 56159 - Не входит в графическую сессию с цифровым логином Windows AD
Summary: Не входит в графическую сессию с цифровым логином Windows AD
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: lightdm (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: manowar@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-09-26 11:01 MSK by Алекс
Modified: 2025-10-02 19:46 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Алекс 2025-09-26 11:01:02 MSK
введенный p11 kworkstation 11.1 в домен ad 2019 (домен 2012) при вводе логина состоящего из цифр, вызывает чёрный экран и сообщение в journalctl

pam_systemd(lightdm:session): Failed to get user record: Недопустимый аргумент
Comment 1 Evgeny Shesteperov 2025-10-02 17:58:39 MSK
Шаги воспроизведения

1.  Ввести машину в домен Windows AD 2019 (2012R2) с пользователем
    123456@windows.testdomain и пользователем
    testuser@windows.testdomain
2.  Выполнить вход, указав в качестве логина:
    - testuser
    - testuser@windows.testdomain
    - 123456
    - 123456@windows.testdomain

Ожидаемый результат: успешный вход в графическую систему.

Фактический результат:

KDE (ALT Workstation K 11.1.1 + Sisyphus):

- Wayland: авторизация с цифровым логином не работает (чёрный экран), в
  логах Failed to get user record: Недопустимый аргумент
- X11: авторизация успешная

GNOME (ALT Workstation 11.1 + Sisyphus):

- Wayland / X11:
  - вход с цифровым логином работает только с указанием домена
    (123456@windows.testdomain)
  - вход с цифровым логином без домена (123456) не работает, возвращает
    обратно на стартовое окно Display Manager, в логах
    Unable to register display with display manager
Comment 2 Ivan A. Melnikov 2025-10-02 19:46:33 MSK
> pam_systemd(lightdm:session): Failed to get user record: Недопустимый аргумент

systemd (pam_systemd и systemd_logind) не допускают имён пользователей, состоящих исключительно из цифр. Точнее, они следуют правилам, описанным в документации как relaxed mode (см. https://systemd.io/USER_NAMES/#relaxed-mode).

Конкретно это сообщение приходит из pam_systemd[1], после того как userdb_by_name вызвала valid_user_group_name[2], которой это не нравится[3].

[1] https://git.altlinux.org/gears/s/systemd.git?a=blob;f=src/login/pam_systemd.c;h=7cc64144ebbc9d3b1a99df7af1331f749c129e44#l223
[2] https://git.altlinux.org/gears/s/systemd.git?a=blob;f=src/shared/userdb.c;h=29acebae19a468d95870df2a40c2af5e19760a8d#l625
[3] https://git.altlinux.org/gears/s/systemd.git?a=blob;f=src/basic/user-util.c;h=2b7c923b5e6ee0145dae5c569306042906c19e36#l743

Так что это конкретное поведение pam это by design (of systemd). И, кстати, я не думаю, что имеет смысл учить нашу систему допускать такие имена пользователей -- утилиты вроде id или chown точно будут сходить от такого с ума, да и много чего ещё наверняка в самых непредсказуемых местах.

Но выдавать при этом чёрный экран это конечно неправильно.