Bug 38367 - Некорректное сообщение при входе в запрещенное время
Summary: Некорректное сообщение при входе в запрещенное время
Status: ASSIGNED
Alias: None
Product: Branch p9
Classification: Distributions
Component: lightdm (show other bugs)
Version: не указана
Hardware: x86_64 Linux
: P5 normal
Assignee: manowar@altlinux.org
QA Contact: qa-p9@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-20 11:07 MSK by Vera Blagoveschenskaya
Modified: 2020-04-23 15:26 MSK (History)
2 users (show)

See Also:


Attachments
wrong-message (104.87 KB, image/png)
2020-04-20 11:07 MSK, Vera Blagoveschenskaya
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vera Blagoveschenskaya 2020-04-20 11:07:17 MSK
Created attachment 8729 [details]
wrong-message

Тестовый стенд:

education-9-x86-64-default ~ # rpm -qa | grep lightdm
lightdm-1.30.0-alt8.x86_64
liblightdm-gobject-1.30.0-alt8.x86_64
lightdm-gtk-greeter-2.0.1-alt15.x86_64
education-9-x86-64-default ~ # 

1) Выполнить блокировку аккаунта по времени, изменить время для доступа test:
# vim /etc/pam.d/system-auth
account required pam_time.so debug
2) # vim /etc/security/time.conf
Добавить администратором строчку для
запрещения работы test на время (указать ближайшее текущее время, в несколько минут) и
сохранить:
lightdm;*;test;!Al1530-1535
3) Попытаться зайти в запрещенное время.

Результат: в окне входа Сообщение о неправильном пароле - см. скриншот.

Ожидаемый результат: сообщение должно быть корректным, о том, что пользователю запрещен вход.
Comment 1 manowar@altlinux.org 2020-04-20 12:32:38 MSK
А что говорит `pamtester lightdm test auethenticate` ?
Comment 2 Vera Blagoveschenskaya 2020-04-20 13:01:59 MSK
(Ответ для manowar@altlinux.org на комментарий #1)
> А что говорит `pamtester lightdm test auethenticate` ?

В запрещенное время:

# pamtester lightdm test authenticate
Password: 
pamtester: successfully authenticated
Comment 3 manowar@altlinux.org 2020-04-20 13:43:11 MSK
Простите, в _запрещённое_ время он пустил? Почему?
Comment 4 Vera Blagoveschenskaya 2020-04-20 14:25:46 MSK
(Ответ для manowar@altlinux.org на комментарий #3)
> Простите, в _запрещённое_ время он пустил? Почему?

В графической сессии - НЕ пустил.
А почему pamtester такое возвращает, я не знаю.
Comment 5 manowar@altlinux.org 2020-04-20 14:49:22 MSK
Мне кажется, что-то не так с /etc/pam.d/lightdm или теми файлами, на которые он ссылается. Если pamtester даёт результат, отличный от ожидаемого, то это, на мой взгляд, большая проблема, чем неправильное сообщение в графике.

Проверьте ещё, пожалуйста,

pamtester login test authenticate

и просто консольный вход (login в "боевом" режиме).
Comment 6 Vera Blagoveschenskaya 2020-04-20 14:58:42 MSK
(Ответ для manowar@altlinux.org на комментарий #5)
> Мне кажется, что-то не так с /etc/pam.d/lightdm или теми файлами, на которые
> он ссылается. Если pamtester даёт результат, отличный от ожидаемого, то это,
> на мой взгляд, большая проблема, чем неправильное сообщение в графике.
> 
> Проверьте ещё, пожалуйста,
> 
> pamtester login test authenticate

# pamtester login test authenticate
Password: 
pamtester: successfully authenticated

> 
> и просто консольный вход (login в "боевом" режиме).

Вход через консоль успешный.

При этом вход через графику в запрещенное время невозможен.
Comment 7 manowar@altlinux.org 2020-04-20 15:40:54 MSK
(Ответ для Vera Blagoveschenskaya на комментарий #6)
> > и просто консольный вход (login в "боевом" режиме).
> 
> Вход через консоль успешный.

  Значит, на стенде наверняка серьёзные проблемы с конфигурацией PAM.

  Я предлагаю сделать так: отредактировать /etc/pam.d/login и /etc/pam.d/system-auth таким образом, чтобы аутентификация консоль работала так, как требуется. После этого сделать идентичную конфигурацию в /etc/pam.d/lightdm. И если проблема с неправильным сообщением сохранится и в этом случае — будем заниматься ей.
Comment 8 Vera Blagoveschenskaya 2020-04-20 16:17:17 MSK
(Ответ для manowar@altlinux.org на комментарий #7)
> (Ответ для Vera Blagoveschenskaya на комментарий #6)
> > > и просто консольный вход (login в "боевом" режиме).
> > 
> > Вход через консоль успешный.
> 
>   Значит, на стенде наверняка серьёзные проблемы с конфигурацией PAM.
> 
>   Я предлагаю сделать так: отредактировать /etc/pam.d/login и
> /etc/pam.d/system-auth таким образом, чтобы аутентификация консоль работала
> так, как требуется. После этого сделать идентичную конфигурацию в
> /etc/pam.d/lightdm. И если проблема с неправильным сообщением сохранится и в
> этом случае — будем заниматься ей.

Я эту проблему вижу уже не в первый раз (некорректное сообщение при попытке входа через графику), она воспроизводится на разных дистрибутивах с _дефолтной_ конфигурацией.

Приведите пример правильных, на ваш взгляд, конфигураций.
Comment 9 manowar@altlinux.org 2020-04-21 18:20:29 MSK
(Ответ для Vera Blagoveschenskaya на комментарий #8)
> Приведите пример правильных, на ваш взгляд, конфигураций.

  Вот сейчас развернул стенд и думал проверять по инструкции, которую вы привели выше. И вот только обратил внимание:

> 1) Выполнить блокировку аккаунта по времени, изменить время для доступа test:
> # vim /etc/pam.d/system-auth
> account required pam_time.so debug

  Понятно, почему pamtester давал ложное срабатывание на authenticate (нужно было проверять именно на account). Но не понятно, почему работал консольный вход.
Comment 10 manowar@altlinux.org 2020-04-21 18:23:06 MSK
А, и с консольным входом всё понятно:

> сохранить:
> lightdm;*;test;!Al1530-1535
> 3) Попытаться зайти в запрещенное время.

  Получается, что ограничение специально было введено только для входа через lightdm.
Comment 11 manowar@altlinux.org 2020-04-21 18:30:51 MSK
Но в целом проблему я увидел. Буду разбираться.
Comment 12 manowar@altlinux.org 2020-04-23 15:23:06 MSK
Разобрался. Тривиального фикса тут быть не может. Дело в том, что pam_time.so сам по себе никаких сообщений в случае ошибки не отправляет — он только выдаёт код ошибки. Правда, по этому коду можно получить сообщение через функцию pam_strerror() и lightdm даже делает это, но клиенту — гритеру, — полученное сообщение не отправляет (напомню, что lightdm клиент-серверный). Чтобы починить, придётся добавить отправку этой строки на клиент, расширив протокол взаимодействия клиента и сервера.
Comment 13 manowar@altlinux.org 2020-04-23 15:26:07 MSK
И slick-greeter это тоже касается.