Bug 45726 - freeipa: Не удается выполнить вход в пользователя через sddm с настроенным OTP
Summary: freeipa: Не удается выполнить вход в пользователя через sddm с настроенным OTP
Status: CLOSED WONTFIX
Alias: None
Product: Branch p10
Classification: Unclassified
Component: sddm (show other bugs)
Version: не указана
Hardware: x86_64 Linux
: P5 normal
Assignee: Sergey V Turchin
QA Contact: qa-p10@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-03-31 17:19 MSK by Evgeny Ivanitskiy
Modified: 2023-07-10 16:58 MSK (History)
3 users (show)

See Also:


Attachments
Видео с воспроизведением ошибки (349.55 KB, video/webm)
2023-03-31 17:19 MSK, Evgeny Ivanitskiy
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Evgeny Ivanitskiy 2023-03-31 17:19:06 MSK
При попытке входа в доменного пользователя FreeIPA, у которого настроена аутентификация в виде "Двухфакторная аутентификация (пароль + OTP)", происходит "зависание" окна входа в пользователя. В journalctl выводится следующая ошибка:

client100.freeipa.testdomain sddm-helper[4050]: pam_succeed_if(sddm:auth): requirement "user ingroup nopasswdlogin" not met by user "otpuser"

После возникновения этой ошибки sddm находится в "зависшем" состоянии без возможности остановить попытку входа или изменение пользователя. Для дальнейшей попытки входа необходимо перезагружать систему. 

Данная ошибка воспроизводится только на системах, где по умолчанию используется SDDM

Воспроизводится на платформах:
alt-kworkstation-10.1-x86_64

Шаги для воспроизведения:
1. Развернуть FreeIPA-сервер, ввести клиента ALT Linux p10-kworkstation в домен.
2. Зайти в web клиент freeipa используя пользователя имеющий права на редактирование других пользователей.
3. Перейти в "Идентификация" ⇢ "Пользователи" и выбрать любого пользователя
4. Нажать на выпадающий список "Действия" ⇢ "Добавить токен OTP" ⇢ "Добавить"
5. Отксканировать QR-Код с помощью OTP совместимых приложений на телефоне (Aegis, KeePassDX, FreeOTP, Google Authenticator)
6. В разделе настройки пользователя "Типы аутентификации пользователей" включить checkbox рядом со строкой "Двухфакторная аутентификация (пароль + OTP)"
7. Открыть клиента kworkstation, который был введен в домен, и попробовать войти в пользователя используя в поле "Пароль" связку "обычный_парольOTP_код" (пароль и код писать слитно)

Ожидаемый результат:
Происходит вход в аккаунт

Фактический результат:
Окно входа в пользователя "Зависает". Не возможно как-либо прервать вход в пользователя. В journalctl ошибка указанная выше

Дополнительно:
Поискав решения проблемы в интернете наткнулся на предложение убрать в файле /etc/pam.d/sddm фразу nopasswdlogin из строки:
auth    sufficient      pam_succeed_if.so user ingroup nopasswdlogin

Однако данное действие приводит к возникновению другой ошибки:
client100.freeipa.testdomain sddm-helper[3469]: pam_succeed_if(sddm:auth): incomplete condition detected

Стоит отметить, что в файле /etc/pam.d/lightdm находящийся в системах с lightdm присутствует фраза nopasswdlogin и не смотря на это происходит успешный вход в систему используя пользователя с настроенным OTP

Приложил видео с воспроизведением ошибки при входе в пользователя с настроенным OTP
Comment 1 Evgeny Ivanitskiy 2023-03-31 17:19:52 MSK
Created attachment 12873 [details]
Видео с воспроизведением ошибки
Comment 2 Sergey V Turchin 2023-07-10 16:58:40 MSK
От SDDM мы отказываемся.
apt-get install kde5-display-manager-lightdm