Вопрос или проблема
После ввода неправильного пароля в окне входа возникает задержка примерно в 3 секунды. Как я могу изменить это на системе Linux с PAM?
Я предполагаю, что вы используете Linux и PAM. Задержка, вероятно, вызвана pam_faildelay.so
. Проверьте вашу конфигурацию PAM в /etc/pam.d
, используя pam_faildelay
, например:
# Установить минимальную задержку в случае неудачи (в микросекундах).
# (Заменяет настройку `FAIL_DELAY' из login.defs)
# Обратите внимание, что другие модули могут требовать другую минимальную задержку. (например,
# чтобы отключить любую задержку, вы должны добавить параметр nodelay к pam_unix)
auth optional pam_faildelay.so delay=3000000
Чтобы изменить время, отрегулируйте параметр задержки. Если вы хотите избавиться от задержки, вы можете удалить/закомментировать всю строку.
Другим источником задержки может быть pam_unix.so
. Чтобы отключить задержку, вызванную pam_unix.so
, добавьте параметр nodelay
и при желании добавьте строку, вызывающую pam_faildelay.so
, чтобы добавить (переменную) задержку вместо этого, например:
auth optional pam_faildelay.so delay=100000
Вам нужно передать параметр nodelay
к auth
pam_unix.so
.
В зависимости от того, как вы аутентифицируетесь, место, где вам нужно установить параметр, может различаться. Однако большинство дистрибутивов Linux имеют что-то вроде /etc/pam.d/system-auth
, что включается всеми разными файлами.
Например, в /etc/pam.d/system-auth
у вас может быть строка, которая выглядит так:
auth sufficient pam_unix.so try_first_pass nullok
Это должно быть изменено на:
auth sufficient pam_unix.so try_first_pass nullok nodelay
Модуль pam_unix.so
выполняет аутентификацию против /etc/passwd
и /etc/shadow
. Если вы используете LDAP или какой-то другой бекенд паролей, вам, вероятно, все равно следует устанавливать nodelay
для pam_unix.so
, так как именно он контролирует подсказку (когда pam_unix.so
не может аутентифицировать, он обычно просто передает полученный пароль следующему модулю).
Вы можете узнать больше о pam_unix.so
, выполнив man pam_unix
В режиме «сырых» входов (например, «первый вход при загрузке») вы можете пройти через конфигурацию PAM. Но при работе с KDE Plasma экраном блокировки это может быть иначе. Поскольку, как упоминается в других блогах/постах по поиску, значение в вопросе, похоже, «зафиксировано» в этой функции и не может быть переопределено (например, через PAM).
Я разместил свой рабочий ответ здесь: изменение времени задержки экрана блокировки KDE Plasma
Ответ или решение
Чтобы изменить задержку, возникающую после ввода неверного пароля в Linux-системе с использованием PAM (Pluggable Authentication Modules), вам необходимо произвести настройку соответствующих файлов конфигурации PAM на вашем устройстве. В большинстве случаев задержка может быть вызвана модулем pam_faildelay.so
. Давайте рассмотрим, как можно внести необходимые изменения.
1. Определите текущую конфигурацию PAM
Первым шагом является проверка конфигурации PAM. Обычно конфигурационные файлы находятся в директории /etc/pam.d/
. Для начала, откройте файл, который относится к вашей системе аутентификации. Например, это может быть system-auth
, который часто используется для настройки аутентификации в дистрибутивах Linux:
sudo nano /etc/pam.d/system-auth
2. Измените настройки pam_faildelay.so
Искомая строка, скорее всего, будет выглядеть следующим образом:
auth optional pam_faildelay.so delay=3000000
Здесь параметр delay
задает задержку в микросекундах. В приведенном примере задержка составляет 3 секунды (3000000 микросекунд). Чтобы изменить задержку, просто измените значение параметра delay
на нужное вам число. Например, для уменьшения задержки до 1 секунды (1000000 микросекунд) используйте:
auth optional pam_faildelay.so delay=1000000
Если вы хотите полностью убрать задержку, вы можете закомментировать или удалить эту строку.
3. Настройка параметра nodelay
для pam_unix.so
Другой момент, который может влиять на задержку, — это модуль pam_unix.so
. Чтобы убрать задержку, добавьте к строке pam_unix.so
параметр nodelay
. Найдите строку, в которой фигурирует pam_unix.so
, и измените её так:
auth sufficient pam_unix.so try_first_pass nullok nodelay
Эта строка указывает PAM не вводить задержку при аутентификации пользователей, что может быть полезно, если вы используете pam_unix
для проверки паролей пользователей.
4. Примените изменения и протестируйте
После внесения изменений сохраните файл и закройте текстовый редактор. Затем выполните повторную попытку входа в систему с неверным паролем, чтобы удостовериться, что изменения были успешно применены и задержка теперь соответствует вашим ожиданиям.
5. Учет особенностей графических интерфейсов
Обратите внимание, что если вы используете графические интерфейсы, такие как блокировка экрана в KDE Plasma, возможность изменения задержек может быть ограничена, так как некоторые параметры могут быть «захардкожены» в самом приложении. В таких случаях рекомендуется обращаться к официальной документации или сообществу пользователей для получения поддержки.
Заключение
Изменение параметров задержки в Linux-системе требует внимательного подхода к конфигурационным файлам PAM. С применением указанных выше шагов вы сможете настроить задержку для ввода неверного пароля. Если у вас возникли дополнительные вопросы или проблемы, не стесняйтесь обращаться за помощью к сообществу IT-специалистов или руководствам по вашей конкретной дистрибутиву Linux.