Вы могли бы хотеть смотреть на fail2ban. Это может быть настроено, чтобы заблокировать учетную запись после количества набора неудачных попыток и затем разблокировать после промежутка времени набора.
http://www.fail2ban.org/wiki/index.php/Downloads
Если Вы действительно серьезно относитесь к использованию pam_tally
, Вы, вероятно, хотите использовать pam_tally2
вместо этого. Должен быть установлен с любым пакетом PAM, это является текущим. Можно сделать человека pam_tally2, чтобы видеть, как использовать его.
Вот пример для запущения Вас. Добавьте следующее к началу подлинного раздела в pam файле, /etc/pam.d/password-auth
:
auth required pam_tally2.so file=/var/log/tallylog deny=3 even_deny_root unlock_time=1200
В том же файле добавляют это к разделу учетной записи:
account required pam_tally2.so
Параметры выше следующие:
file=/var/log/tallylog
– Файл журнала по умолчанию используется для проведения подсчета входа в систему.deny=3
– Запретите доступа после 3 попыток и заблокируйте вниз пользователя.even_deny_root
– Политика, также относятся к пользователю root.unlock_time=1200
- 20 минут (60 секунд. * 20 минут = 1 200 секунд.)Если Вы не хотите блокировать, выкорчевывают изменение even_deny_root к magic_root.
Сомнительно, хотели ли Вы заблокировать корневую учетную запись. Вы могли бы хотеть сделать что-то вроде этого вместо этого, где корневая учетная запись может быть заблокирована, но только на более короткое время, чем другие учетные записи:
auth required pam_tally2.so file=/var/log/tallylog deny=3 even_deny_root unlock_time=1200 root_unlock_time=60
Это только заблокирует корневую учетную запись в течение минуты, все остальные нормальные секунды 1200 года.
Демонстрационный файл журнала посмотрел бы следующим образом:
$ ssh me@somemachine
me@somemachine's password:
Permission denied, please try again.
me@somemachine's password:
Permission denied, please try again.
me@somemachine's password:
Account locked due to 4 failed logins
Account locked due to 5 failed logins
Last login: Mon Jun 4 21:21:06 2013 from someothermachine
Можно справиться о заблокированных учетных записях с помощью команды pam_tally2:
$ pam_tally2 --user=me
Login Failures Latest failure From
me 5 06/04/13 21:21:06 someothermachine
Можно разблокировать ограничение как так:
pam_tally2 --user=me --reset
Login Failures Latest failure From
me 5 06/04/13 21:21:06 someothermachine
Теперь учетная запись обнаруживается в pam_tally2 как так:
$ pam_tally2 --user=me
Login Failures Latest failure From
me 0
Не забудьте добавить ПУТЬ
в ваш сценарий и включить в него / sbin
. Поскольку сценарий init
не использует переменную среды PATH
для остальной системы, вам необходимо установить ее непосредственно в своем сценарии и убедиться, что / sbin
там, например, добавьте:
ПУТЬ = / sbin: / bin: / usr / sbin: / usr / bin
В начале вашего скрипта.
Выполните отладку сценария, чтобы убедиться, что демон start-stop-daemon правильно считывает путь к monit из переменной DAEMON
. Для этого добавьте следующую строку в начало вашего скрипта:
set -x #echo on
Все это будет выглядеть как
#! / Bin / sh {{ 1}} set -x #echo on
### BEGIN INIT INFO
# Provides: monit
# Required-Start: $ remote_fs
# Required-Stop : $ remote_fs
# Should-Start: $ all
# Should-Stop: $ all
# Default-Start: 2 3 4 5
# Default-Stop : 0 1 6
# Краткое описание: демон мониторинга служб и ресурсов
# Описание: monit - это утилита для управления и мониторинга
# процессов, программ, файлов, каталогов и файловых систем
# в системе Unix. Monit выполняет автоматическое обслуживание
# и восстановление и может выполнять значимые причинно-следственные действия
# в ошибочных ситуациях.
### END INIT INFO
set -e
ПУТЬ = / sbin: / остаток пути здесь.
Ваш скрипт.
Если DAEMON
поврежден, попробуйте заключить его в круглые скобки:
if start-stop-daemon --start --quiet --oknodo \
--pidfile $ PID - -exec $ ($ DAEMON) \
- $ MONIT_OPTS
Или просто добавьте путь к двоичному файлу напрямую.
if start-stop-daemon --start --quiet --oknodo \
--pidfile $ PID --exec / usr / bin / monit \
- $ MONIT_OPTS {{ 1}}
Если последний вариант не работает, убедитесь, что двоичный файл действительно существует. Если это так, вам нужно будет проверить, действительно ли start-stop-daemon разрешен доступ к нему. Посмотрите на chrooting.
В Debian 7 у меня была аналогичная ошибка: демон: не найден
И я смог исправить это с помощью:
apt-get install daemon
рад, вы можете исправить это с помощью apt-get install deamon
в моем в случае отсутствия ссылки из: / bin / busybox
на / sbin / start-stop-daemon
cd /sbin
ln -s ../bin/busybox start-stop-daemon
, которая исправила это.
В системе на основе Fedora или RedHat вам необходимо установить dpkg в качестве уровня совместимости с дистрибутивом на основе Debian. start-stop-daemon
предоставлено dpkg.
sudo dnf install dpkg
в Fedora 33