После ввода неправильного пароля при входе в систему происходит задержка примерно в 3 секунды. Как это изменить в системе Linux с PAM?
решение1
Я предполагаю, что вы используете Linux и pam. Задержка, вероятно, вызванаpam_faildelay.so
. Проверьте конфигурацию pam , /etc/pam.d
используя pam_faildelay
, например:
# Enforce a minimal delay in case of failure (in microseconds).
# (Replaces the `FAIL_DELAY' setting from login.defs)
# Note that other modules may require another minimal delay. (for example,
# to disable any delay, you should add the nodelay option to 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
решение2
Вам необходимо передать 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