Подключил модуль pam_access добавил в /etc/pam.d/common-login account required pam_access.so В /etc/security/access.conf добавляю правило -:username:tty4 Попытка входа на tty4 для username проходит успешно. Например если поменять правило на -:username:localhost вход блокируется, т.е. неработают правила только для tty. Аналогично и в P9 На сторонних дистрибутивах ubuntu, fedora при аналогичных действия всё отрабатывает нормально.
(In reply to underwit from comment #0) > Попытка входа на tty4 для username проходит успешно. Чем осуществляется попытка входа?
(Ответ для Dmitry V. Levin на комментарий #1) > Чем осуществляется попытка входа? ctrl+alt+f4 или chvt 4
навернякак systemd-logind.
(In reply to Anton Farygin from comment #3) > навернякак systemd-logind. Тогда попробуйте выяснить, выставляет ли он PAM_TTY, и если да, то в какое значение.
agetty, а не systemd-logind. А как выяснить ? Вижу процессы: /sbin/agetty -o -p -- \u --noclear tty5 linux
(In reply to Anton Farygin from comment #5) > agetty, а не systemd-logind. А как выяснить ? agetty всё-таки не осуществляет login. Выяснить просто: залогиниться и посмотреть в лог. > Вижу процессы: > /sbin/agetty -o -p -- \u --noclear tty5 linux Ещё можно chvt 5, дождаться приглашения, и посмотреть ps ещё раз.
audit пишет что запускается /bin/login, в моём случае это login-0.60-alt35.x86_64
*** Bug 38056 has been marked as a duplicate of this bug. ***
В SimplePAMApps: pamapps/login/login.c:118 Для login_remote_host устанавливается значение по умолчанию - "localhost", которое модифицируется в parse_args() только при передаче в качестве аргумента имени хоста. В противном случае эта строка остается без изменений и устанавливается в PAM_RHOST. В linux-pam: modules/pam_access/pam_access.c:846 идёт получение через pam_get_item сожержимого PAM_RHOST, а в строке 853 идет проверка на то, что это содержимое либо нулевой указатель, либо пустая строка. А у нас там "localhost" -> условие не выполняется, проверки на tty нет и, следовательно, программа разрешает вход из-под tty.
Так было с 2001 года. Я уберу PAM_RUSER и PAM_RHOST, это починит pam_access, а вы попробуйте выяснить, как это повлияет на весь остальной софт.
(Ответ для Dmitry V. Levin на комментарий #10) > Так было с 2001 года. Я уберу PAM_RUSER и PAM_RHOST, это починит > pam_access, а вы попробуйте выяснить, как это повлияет на весь остальной > софт. Как минимум повлияет на то, что при указании правила "-:USER:localhost" вход через tty будет разрешён, а я так понял, что его необходимо запрещать.
Предлагаю "localhost" починить позже, а то прям горит.
(Ответ для Sergey V Turchin на комментарий #12) > Предлагаю "localhost" починить позже, а то прям горит. Ссылка на огнетушитель: http://git.altlinux.org/tasks/254422/
Проверил в fedora Если указать localhost то он не блокируется.
Не надо проверять pam_access в Федоре, в этом нет смысла. Проверьте, пожалуйста, как наш софт отреагирует на отсутствие PAM_RUSER и PAM_RHOST.
(Ответ для Dmitry V. Levin на комментарий #15) > Проверьте, пожалуйста, как наш софт отреагирует на отсутствие PAM_RUSER и > PAM_RHOST. "наш" - это какой? Где взять версию, где PAM_RUSER и PAM_RHOST отсутствуют?
(In reply to Олег Соловьев from comment #16) > (Ответ для Dmitry V. Levin на комментарий #15) > > Проверьте, пожалуйста, как наш софт отреагирует на отсутствие PAM_RUSER и > > PAM_RHOST. > > "наш" - это какой? Хотя бы тот, который входит в наши дистрибутивы. Могут быть побочные эффекты. > Где взять версию, где PAM_RUSER и PAM_RHOST отсутствуют? #254330
Вход локальным пользователем под sddm работает. Вход локальным пользователем с tty работает.
SimplePAMApps-0.60-alt36 -> sisyphus: Fri Jul 03 2020 Dmitry V. Levin <ldv@altlinux> 0.60-alt36 - login: do not set PAM_RUSER and PAM_RHOST unnecessarily (closes: #38655).