Выполнение init.d сценарий производит “start-stop-daemon: не найденный”

Вы могли бы хотеть смотреть на 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

Ссылки

5
09.03.2019, 14:08
4 ответа
  1. Не забудьте добавить ПУТЬ в ваш сценарий и включить в него / sbin . Поскольку сценарий init не использует переменную среды PATH для остальной системы, вам необходимо установить ее непосредственно в своем сценарии и убедиться, что / sbin там, например, добавьте:

      ПУТЬ = / sbin: / bin: / usr / sbin: / usr / bin 
     

    В начале вашего скрипта.

  2. Выполните отладку сценария, чтобы убедиться, что демон 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}} 
  3. Если последний вариант не работает, убедитесь, что двоичный файл действительно существует. Если это так, вам нужно будет проверить, действительно ли start-stop-daemon разрешен доступ к нему. Посмотрите на chrooting.

3
27.01.2020, 20:36

В Debian 7 у меня была аналогичная ошибка: демон: не найден

И я смог исправить это с помощью:

apt-get install daemon
5
27.01.2020, 20:36

рад, вы можете исправить это с помощью apt-get install deamon

в моем в случае отсутствия ссылки из: / bin / busybox на / sbin / start-stop-daemon

cd /sbin
ln -s ../bin/busybox start-stop-daemon

, которая исправила это.

0
27.01.2020, 20:36

В системе на основе Fedora или RedHat вам необходимо установить dpkg в качестве уровня совместимости с дистрибутивом на основе Debian. start-stop-daemonпредоставлено dpkg.

sudo dnf install dpkg

в Fedora 33

0
04.11.2020, 11:05

Теги

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