Bug 50970 - При разблокировке экрана выводится запрос пароля вместо пин-кода
Summary: При разблокировке экрана выводится запрос пароля вместо пин-кода
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: plasma5-kscreenlocker (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Олег Соловьев
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-07-23 21:49 MSK by Белаш Константин
Modified: 2024-09-09 12:20 MSK (History)
5 users (show)

See Also:


Attachments
пароль вместо пин-кода (31.00 KB, image/png)
2024-07-23 21:49 MSK, Белаш Константин
no flags Details
корректный скриншот (24.49 KB, image/png)
2024-07-23 21:59 MSK, Белаш Константин
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Белаш Константин 2024-07-23 21:49:39 MSK
Created attachment 16471 [details]
пароль вместо пин-кода

На раб. станции К настроена доменная 2ФА. При входе в сеанс lightdm-kde-greeter корректно просит ввести пин-код для аутентификации. Если во время работы экран блокируется, то во время разблокировки plasma5-kscreenlocker вместо пин-кода запрашивает пароль (см. 2.png). При этом если ввести пин-код, то разблокировка происходит корректно.
Comment 1 Белаш Константин 2024-07-23 21:59:52 MSK
Created attachment 16472 [details]
корректный скриншот
Comment 2 Sergey V Turchin 2024-08-27 14:17:51 MSK
plasma5-kscreenlocker заменён на kscreenlocker.
Проверьте на свежем срезе репозитория.
Comment 3 Белаш Константин 2024-08-28 11:03:56 MSK
(Ответ для Sergey V Turchin на комментарий #2)
> plasma5-kscreenlocker заменён на kscreenlocker.
> Проверьте на свежем срезе репозитория.

Есть возможность бэкпортировать изменения в p10?
Comment 4 Sergey V Turchin 2024-08-28 16:02:44 MSK
(Ответ для Белаш Константин на комментарий #3)
> Есть возможность бэкпортировать изменения в p10?
Нет. В p11, возможно, бэкпортируем и то не 100% на данный момент.
Comment 5 Sergey V Turchin 2024-08-29 10:41:11 MSK
(Ответ для Белаш Константин на комментарий #0)
> если ввести пин-код, то разблокировка происходит корректно.
В этом случае можно игнорировать, т.к. всё работает.
Comment 6 Белаш Константин 2024-08-29 15:03:42 MSK
(Ответ для Sergey V Turchin на комментарий #5)
> (Ответ для Белаш Константин на комментарий #0)
> > если ввести пин-код, то разблокировка происходит корректно.
> В этом случае можно игнорировать, т.к. всё работает.

Да, сама аутентификация отрабатывает по токену нормально. Но поскольку в подсказке к вводу указан "Пароль:", то пользователи и вводят пароль. Это в итоге приводит к блокировке токена, так как пароль не совпадает с пин-кодом. Да, токен можно разблокировать, но это доставляет пользователям и администратору определенные неудобства, особенно если пользователей много.

При проверке kscreenlocker на Sisyphus проблема сохраняется. Поведение такое же, как и для plasma5-kscreenlocker.
Предполагаю, что plasma5-kscreenlocker и kscreenlocker(Sisyphus) некорректно обрабатывают (или запрашивают) информацию от pam о том, что запросить у пользователя, пароль или пин-код. При этом если использовать pamtester, то выдается корректный запрос на пин-код:

# pamtester -v kde6-screenlocker es_smb authenticate
pamtester: invoking pam_start(kde6-screenlocker, es_smb, ...)
pamtester: performing operation - authenticate
PIN for ESMART Token 192K: 
pamtester: successfully authenticated
Comment 7 Leonid Krivoshein 2024-08-29 15:29:09 MSK
См. верхние коммиты к этой версии:
https://git.altlinux.org/gears/m/mate-screensaver.git?p=mate-screensaver.git;a=shortlog;h=refs/tags/v1.20.3-alt2

В 5 и 6 версии kscreenlocker PAM conversation не используется, там свой kcheckpass и в нём единственное упоминание -- удаление legacy conversations:

https://git.altlinux.org/gears/p/plasma5-kscreenlocker.git?p=plasma5-kscreenlocker.git;a=commitdiff;h=a9c44a10b6a60777bf8ca997d3618e66bbd44baa

https://git.altlinux.org/gears/p/plasma5-kscreenlocker.git?p=plasma5-kscreenlocker.git;a=commitdiff;h=d666fe879d4682b1c9a0f9f2a7a29e6644adbf10

Полагаю, в качестве временного решения проблемы можно рекомендовать замену kscreenlocker на mate-screensaver. Проблема подтверждена при полностью идентично настроенном PAM-стеке: с mate-screensaver и pamtester ожидаемый диалог работает, с kscreenlocker'ами (что с одним, что с другим), происходит запрос пароля. Следует иметь ввиду, что PAM допускает не единственный запрос, а серию диалогов.
Comment 8 Sergey V Turchin 2024-08-29 15:40:39 MSK
В 6-м kscreenlocker наворотили. Он показывает сообщения от PAM. И от fprintd и pkcs модулей.
В 5-м не припомню такого.

Портирование на 5-й слишком затратно, т.к. для 6-го пришлось знатно потрахаться только с поддержкой мамонта^W TCB.
Comment 9 Repository Robot 2024-09-09 12:20:04 MSK
plasma-desktop-6.1.4-alt4 -> sisyphus:

 Thu Sep 05 2024 Oleg Solovyov <mcpain@altlinux> 6.1.4-alt4
 - screenlocker fixes:
   + do not activate multiple mouse areas
   + switch areas by following mouse pointer
   + make cursor visible on inactive mouse areas
   + restart fade timer on switching displays
 Mon Sep 02 2024 Oleg Solovyov <mcpain@altlinux> 6.1.4-alt3
 - show PAM prompt in screenlocker theme (Closes: #50970)