Не даёт 1-му экземпляру kscreenlocker_greet завершиться, из-за чего невозможна разблокировка экрана, т.к. на чёрном экране ждёт запуска нового экземпляра. С 0.6.12.1-alt3 всё ок.
очень неприятная ошибка, постоянно приходится прибивать screensaver
Во всех случаях конфиг по умолчанию? Не пробовал вот сюда добавлять "kscreenlocker_greet" или как он там называется в PAM? 48 screen_savers = xfce4-screensaver, mate-screensaver, gnome-screensaver, kde4-kscreensaver, kscreensaver, xscreensaver;
(Ответ для manowar@altlinux.org на комментарий #2) > Во всех случаях конфиг по умолчанию? Не пробовал вот сюда добавлять > "kscreenlocker_greet" или как он там называется в PAM? > > 48 screen_savers = xfce4-screensaver, mate-screensaver, gnome-screensaver, > kde4-kscreensaver, kscreensaver, xscreensaver; Раньше работало без этого. В p11 сейчас работает. Меняется только этот пакет.
(Ответ для manowar@altlinux.org на комментарий #2) > как он там называется в PAM? kde, kde-fingerprint, kde-smartcard
> Раньше работало без этого. В p11 сейчас работает. Меняется только этот пакет. Я не могу вернуть старое поведение, оно было признано уязвимым. К тому же, эффект по большей части случайный был, что работало. Так что нужно разбираться с тем, что есть сейчас. Шаги воспроизведения точно какие? Обычный KDE и его обычный Ctrl+Alt+L? system-auth == pam_pkcs11 ?
просто ставишь рабочую станцию К по умолчанию и обновляешь до Sisyphus. Ничего дополнительного настраивать не нужно.
Проблема в том, что kscreenlocker должен после разблокировки закончить свою работу, а он остаётся висеть и по факту не даёт запуститься следующему экземпляру. pam_pkcs11 запускается даже тогда, когда не настроен.
# diff -u /etc/security/pam_pkcs11/pam_pkcs11.conf{~,} --- /etc/security/pam_pkcs11/pam_pkcs11.conf~ 2025-02-18 14:37:51.144721146 +0300 +++ /etc/security/pam_pkcs11/pam_pkcs11.conf 2025-02-18 14:37:49.331648724 +0300 @@ -26,7 +26,7 @@ # For historical reasons card_only means: if we are using # a screen saver, and we didn't log in using a smart card # drop to the next pam module (PAM_IGNORE is returned). - card_only = false; + card_only = true; # wait_for_card means: # 1) nothing if card_only isn't set; @@ -38,14 +38,14 @@ # Right now, logged in means PKC11_LOGIN_TOKEN_NAME is set, # but we could something else later (like set some per-user # state in a PAM session module keyed off UID). - wait_for_card = false; + wait_for_card = true; # List of screen saver services. # This list is only parsed if card_only is set. Basically the screen saver # will bypass pam_pkcs11 if a token was not used to login (The basic idea is # you always unlock the screen saver with the same mechanism you used to # login). - screen_savers = xfce4-screensaver, mate-screensaver, gnome-screensaver, kde4-kscreensaver, kscreensaver, xscreensaver; + screen_savers = xfce4-screensaver, mate-screensaver, gnome-screensaver, kde4-kscreensaver, kscreensaver, xscreensaver, kde-smartcard; # Filename of the PKCS #11 module. The default value is "default" use_pkcs11_module = opensc; Посмотрите, подойдёт такой патч?
К слову: gdm-smartcard очень хитрый --- он эти параметры сам передаёт: gdm-smartcard:5:auth required pam_pkcs11.so wait_for_card card_only kde-smartcard:2:auth [success=done ignore=ignore default=die] pam_pkcs11.so
В связи с этим я не уверен, что нужно упоминать его в списке "скринсейверов": + screen_savers = xfce4-screensaver, mate-screensaver, gnome-screensaver, kde4-kscreensaver, kscreensaver, xscreensaver, kde-smartcard; Потому, что у меня есть подозрение, что профиль (PAM service) "kde-smartcard" используется также и для входа в систему, а не только при разблокировке экрана. Так ли это? Про gdm я уверен на 99%, это как бы следует из названия.
Да, с изменениями в конфиге у меня заработало. Но конечно надо ещё проверить - работает ли через смарткарты.
(Ответ для manowar@altlinux.org на комментарий #10) > В связи с этим я не уверен, что нужно упоминать его в списке "скринсейверов": > > + screen_savers = xfce4-screensaver, mate-screensaver, gnome-screensaver, > kde4-kscreensaver, kscreensaver, xscreensaver, kde-smartcard; Если выставить только card_only и wait_for_card, то появляется на экране блокировки появляется интересная приписка: "(или используете смарт-карту)". Мне это поведение кажется более правильным. Но! По каким-то причинам, указание опций "wait_for_card card_only" прямо в командной строке (pam.d/kde-smartcatd) не работает. Я буду разбираться в чём дело.
(Ответ для manowar@altlinux.org на комментарий #10) > "kde-smartcard" используется также и для входа в систему, а не только при > разблокировке экрана. Так ли это? Нет. При выходе lightdm, а "kde-smartcard" в пакете kscreenlocker.
(Ответ для manowar@altlinux.org на комментарий #12) > По каким-то причинам, > указание опций "wait_for_card card_only" прямо в командной строке > (pam.d/kde-smartcatd) не работает. Я буду разбираться в чём дело. Сейчас перепроверил вот с таким патчем (pam_pkcs11.conf из пакета) и оно заработало: # diff -u /etc/pam.d/kde-smartcard{~,} --- /etc/pam.d/kde-smartcard~ 2025-02-18 15:18:30.751554325 +0300 +++ /etc/pam.d/kde-smartcard 2025-02-18 15:18:49.786645688 +0300 @@ -1,5 +1,5 @@ #%PAM-1.0 -auth [success=done ignore=ignore default=die] pam_pkcs11.so +auth [success=done ignore=ignore default=die] pam_pkcs11.so wait_for_card card_only auth substack system-auth-common Однако работает не стабильно, условно говоря, через раз. Не могу понять, в чём дело, но похоже, есть какая-то гонка. Поэкспериментируйте несколько раз, пожалуйста. Если проверять через pamtester: # pamtester kde-smartcard testuser authenticate ERROR:pam_pkcs11.c:378: no suitable token available Пожалуйста, вставьте токен. ... то всё стабильно: с опциями wait_for_card card_only он ждёт токен. На экране разблокировки, по идее, тоже должно быть видно сообщение ("или используйте смарт-карту"). Почему "или"? Насколько я понял (скорее, догадался), для kscreenlocker это _параллельный_ альтернативный сценарий разблокировки (отсюда и специальный профиль "kde-smartcard"), поэтому виснуть он не должен. Зависание с чёрным экраном получается в том случае, когда pam_pkcs11.so _сразу же_ возвращает ошибку (это тоже не понятно, кстати). У меня резюме следующее: 1. без опций wait_for_card card_only pam_pkcs11.so сразу же возвращает ошибку аутентификации. 2. kscreenlocker в этом случае зависает (зацикливается в перезапуске?); 3. с опциями wait_for_card card_only pam_pkcs11.so отправляет пользователю сообщение "Пожалуйста, вставьте токен", ждёт карту и не возвращает ошибку (поскольку не завершает работу); 4. самое не понятное: если опции wait_for_card card_only указывать через конфиг pam_pkcs11.conf, то kscreenlocker стабильно работает (показывает сообщение "или используйте смарт-карту"), хотя через pamtester разницы между передачей опций через kde-smartcard и pam_pkcs11.conf обнаружить не удаётся (их и не должно быть судя по коду).
Да, товарищи, это race. Сейчас установил wait_for_card и card_only только в pam_pkcs11.conf и на четвёртой подряд блокировке экрана словил чёрный экран. Соответственно, пункт 4 выше значения не имеет --- это было совпадение.
Предлагаю, всё же, запатчить kde-smartcard, так как card_only + wait_for_card для всех по умолчанию включая system-auth-pkcs11 (!) мне кажется плохой идеей --- в систему будет вообще не войти без токена. Ну и с race разобраться.
(Ответ для manowar@altlinux.org на комментарий #16) > Предлагаю, всё же, запатчить kde-smartcard Похоже на то https://build.opensuse.org/projects/openSUSE:Factory/packages/kscreenlocker6/files/kde-smartcard?expand=1
Отправил https://packages.altlinux.org/ru/tasks/375493/ https://packages.altlinux.org/ru/tasks/375494/
(Ответ для manowar@altlinux.org на комментарий #16) > Ну и с race разобраться. С этим ещё не разобрано. Паша, при необходимости обсудите, плиз, с Олегом mcpain@alt, он ближе к теме.
*** Bug 53185 has been marked as a duplicate of this bug. ***
kscreenlocker-6.3.2-alt1 Теперь поведение как будто другое: всегда чёрный экран, но если переключиться на другой VT и обратно, то появляется картинка. Кроме того, даже на чёрном экране можно ввести пароль и разблокировать. По правде сказать, с прошлой версией я такого не пробовал делать — не пробовал вводить пароль на чёрном экране.
Я у себя прока проблем не замечал, но у меня нет ни карты ни пальца.
видимо, FIXED после нового конфига
у меня на новом (моём) конфиге работает, но важно что бы работал на системном
(Ответ для Sergey V Turchin на комментарий #3) > (Ответ для manowar@altlinux.org на комментарий #2) > > Во всех случаях конфиг по умолчанию? Не пробовал вот сюда добавлять > > "kscreenlocker_greet" или как он там называется в PAM? > > > > 48 screen_savers = xfce4-screensaver, mate-screensaver, gnome-screensaver, > > kde4-kscreensaver, kscreensaver, xscreensaver; > Раньше работало без этого. В p11 сейчас работает. Меняется только этот пакет. Возможно, что работало, но не во всех сценариях. Если, допустим, помогает добавление kde_smartcard в этот список, то нужно учитывать, что "помогает" это только для сценария разблокировки, в котором на самом деле не используется смарт-карта. Если применить такой рецепт для сценария, в котором пользователь входит в сеанс по смарт-карте, то тоже будет чёрный экран.
(Ответ для manowar@altlinux.org на комментарий #25) > Если, допустим, помогает Помогает, в #53501 подтвердили. > добавление kde_smartcard kde-smartcard > в этот список, то нужно учитывать, что "помогает" > это только для сценария разблокировки, в котором на самом деле не > используется смарт-карта. Это уже хорошо и необходимо добавить в любом случае.
Проверила воспроизводимость ошибки, если вставлен токен. Провела следующие тесты: 1. control system-auth: local (конфиги не тронуты) Если токен не вставлен, ошибка не воспроизводится Если вставлен токен, то ошибка воспроизводится. Если указать в pam_pkcs11 в скринсейверах kde-smartcard, то ошибка перестает воспроизводиться, видимо, за счет опции card_only: <pre># For historical reasons card_only means: if we are using # a screen saver, and we didn't log in using a smart card # drop to the next pam module (PAM_IGNORE is returned). card_only = false;</pre> При блокировке также исчезает надпись "или используйте смарт-карту", т.е. сработал переход к следующему pam-модулю, т.к. логин был без токена. 2. control system-auth: pkcs11, настроена работа токена для одного из двух пользователей -без указания kde-smartcard в скринсейверах пользователь с настроенным токеном вход по токену - проблем при блокировке не наблюдается вход по паролю - проблем не наблюдается пользователь без настроенного токена вход по паролю (токен вставлен) - проблем не наблюдается вход по паролю (токена нет) - проблем не наблюдается -с указанием kde-smartcard в скринсейверах пользователь с настроенным токеном вход по токену - проблем при блокировке не наблюдается (со вставленным и вытащенным токеном) вход по паролю - проблем не наблюдается, надпись "или используйте смарт-карту" пропадает (со вставленным и вытащенным токеном) пользователь без настроенного токена вход по паролю (токен вставлен) - проблем не наблюдается вход по паролю (токена нет) - проблем не наблюдается, надпись "или используйте смарт-карту" пропадает Итог: использование kde-smartcard в скринсейверах позволяет замаскировать проблему там, где она воспроизводится, при этом не ломается остальной функционал. Важно! Если вход производился по токену, то при блокировке остается надпись "или используйте смарт-карту", и разблокировка производится только по паролю, токен не воспринимается. Вероятно, нужна какая-то донастройка. Есть вероятность, что если токен будет восприниматься, то проблема снова воспроизведется, т.к. снова в какой-то момент появится ошибка аутентификации.
Алёна, спасибо! Однако, я дважды внимательно перечитал списки "с указанием kde-smartcard в скринсейверах" и "без указания kde-smartcard в скринсейверах" и не заметил разницы: везде написано "проблем не наблюдается". Так почему вы пишете, что "Итог: использование kde-smartcard в скринсейверах позволяет...", ведь получается, что этот параметр ни на что не влияет? \(oo)/
(Ответ для manowar@altlinux.org на комментарий #28) > с указанием kde-smartcard в скринсейверах В телеге один человек с проблемой недавно подтвердил, что с добавлением в конфиг kde-smartcard работает. Карты не используются. Не могу найти сообщение.
Ну, раз карты не используются, то случай не релевантный. Нужно так сделать, чтобы разблокировка по карте не сломалась тоже.