У меня есть пользователь, которого заблокировал denyhosts
ежедневно после некоторых начальных проблем и путаницы с ключами, паролями, именами учетных записей и т. д., даже если я продолжаю разблокировать его.
Когда я пошел в /var/lib/denyhosts
(WORKDIR
указано в /etc/denyhosts.conf
) и просмотрел файлы его IP, я нашел его в hosts
, hosts-root
, hosts-valid
, users-hosts
и hosts-restricted
. Теперь, если я правильно понимаю, hosts-restricted
это место приземления для тех, кто заблокирован многократным входом в систему как один из пользователей, перечисленных в /var/lib/denyhosts/restricted-usernames
... но я никогда не создавал такой файл, и при чтении документации не удалось обнаружить список по умолчанию, который использовался бы, если бы этот файл не существовал.
Как моему пользователю удалось попасть в список ограниченных входов, если ни один вход не ограничен?
Содержимое вашего hosts-restricted
Скорее всего, в файле все их счетчики установлены на ноль, второе поле в строке, и поэтому они почти бесполезны.
Я думаю, причина этого (и, вероятно, причина того, что все /var/lib/denyhosts/hosts*
имеют аналогичный размер), похоже, связано с AGE_RESET_*
конфиги; дата будет в последний раз, когда хост был видел.
Потенциально это ошибка, но, возможно, безобидная (кроме траты ресурсов процессора), код, вероятно, должен проверить, существует ли уже хост в файле (набор Python) перед созданием и инициализацией счетчика до нуля.
Дальнейшее расследование показывает были зарегистрированы ошибки в несуществующем проекте DenyHosts SF.
Еще более подробные исследования показывают, что SF DenyHosts был разделен на SF denyhost и это denyhosts на GitHub может даже быть источником самого современного кода. 27 июня этого года была выпущена версия 3.0, которая якобы исправляет эту странность.
Еще больше информации: странность похоже, все еще встречается в текущей версии 3.0 и ошибка была зарегистрирована в активном трекере проблем с GH.