Как каждый изменяет задержку, которая происходит после ввода неправильного пароля?

Это - довольно простой вариант использования inotify, к сожалению, это - программирование API, не пользовательская утилита.

32
04.11.2016, 12:38
2 ответа

Я предполагаю, что Вы используете 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
21
27.01.2020, 19:37
  • 1
    Нет никакого упоминания о задержке нигде /etc/pam.d/*. Самая близкая вещь, которую я вижу, pam_tally.so который позволяет блокировать после некоторого количества попыток. Но у меня действительно есть n /etc/login.defs, который мог бы быть тем, в чем я нуждаюсь. –  Shawn J. Goff 16.06.2012, 19:53
  • 2
    @ShawnJ.Goff pam_tally.so не вызывает задержку насколько я знаю. Другой источник для задержки может быть pam_unix.so - можно отключить его с nodelay опция - видит linux.die.net/man/8/pam_unix для большего количества –  Ulrich Dangel 16.06.2012, 20:07
  • 3
    Добавление nodelay опция к pam_unix.so и добавление новой записи с pam_faildelay.so delay=$some_number позволяет мне установить то, что я хочу.Спасибо! –  Shawn J. Goff 17.06.2012, 01:13
  • 4
    Рабочая мягкая фетровая шляпа 23, я должен был отключить pam_unix.so задержите и начните использовать pam_faildelay.so один, поскольку @ShawnJ.Goff говорит. Однако большинство pam.d конфигурации имеют "Этот файл, автоматически генерируется. Пользовательские изменения будут уничтожены, следующий раз authconfig выполняется". Таким образом, где я могу постоянно настроить задержку? –  jozxyqk 29.01.2016, 09:34

Необходимо передать nodelay параметр к auth pam_unix.so.

В зависимости от того, как аутентификация your'e, где необходимо установить параметр, варьируется. Однако большая часть Linux distrubtions имеет что-то как /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

11
27.01.2020, 19:37
  • 1
    В моей системе system-auth не существовал; это было /etc/common-auth.Спасибо! –  Luc 30.07.2016, 23:41

Теги

Похожие вопросы