Как я могу выполнить тест с обратной связью?

Ваши первоначальные сообщения об ошибках не имеют смысла в том, что вы показываете для вашего cron, который запускает ваш logrotate.

rotating pattern: /home/mail3/log/popMailProcessing.log  forced from command line (60 rotations)
empty log files are rotated, old logs are removed
considering log /home//log/popMailProcessing.log
error: stat of /home/mail3/log/popMailProcessing.log failed: Permission denied

Что делают эти пути, идущие к /home/mail3/log/*? Также что отсутствует в строке /home//log/popMailProcessing.log? Похоже, что в своем вопросе вы показываете только часть реальной ситуации.

Отладка проблемы

Поместите эту строку в сценарий оболочки, logrotate.sh:

#!/bin/bash
/usr/sbin/logrotate -f -v /etc/logrotate.d/mail3-logs &>> /var/log/logrotate/rotate.log

Сделайте его исполняемым и запустите из cron:

03 00 * * * root strace -s 2000 -o /tmp/strace.log /path/to/logrotate.bash

Просматривая вывод, вы должны увидеть, что сбивается из-за проблем с разрешениями.

EDIT #1

После разговора с ОП он упомянул, что вышеупомянутая техника отладки показала, что SELinux был включен. Он был в недоумении, почему это так, ведь ранее он отключил его командой setenforce 0.

Отключение SELinux таким образом будет оставаться в этом состоянии только до следующей перезагрузки. Режим по умолчанию для SELinux диктуется этим файлом в Fedora/CentOS:

$ cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#   enforcing - SELinux security policy is enforced.
#   permissive - SELinux prints warnings instead of enforcing.
#   disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
#   targeted - Only targeted network daemons are protected.
#   strict - Full SELinux protection.
SELINUXTYPE=targeted

Чтобы навсегда отключить SELinux, вам нужно изменить строку SELINUX=.... в одно из трех состояний, enforcing, permissive, disabled.

Однако я бы посоветовал вам потратить время на то, чтобы понять, почему SELinux запрещает доступ к директории, в которой находятся эти файлы журналов, и добавить соответствующий контекст, чтобы SELinux разрешил этот доступ. SELinux является важной частью многоуровневой модели безопасности, которая поддерживается в дистрибутивах Linux, использующих эту систему, и слепое отключение этой системы лишает ее одного из критически важных уровней.

References

0
11.02.2019, 18:25
4 ответа

Can you tell me how to do a loopback test in Linux

ping -c 1 127.0.0.1

, and contrast it with a non-loopback test which tests the same thing (any thing)?

ping -c 1 1.1.1.1
0
28.01.2020, 02:18

Просто настройте любую службу, которую вы хотите протестировать, на действительный IP-адрес в блоке 127.0.0.0/8CIDR. Затем попытайтесь подключиться к нему с того же хоста по выбранному вами IP-адресу. Если это работает, то ваш тест обратной связи прошел успешно.

Интерфейс кольцевой проверки и адресное пространство важны только для сетевой инфраструктуры; для приложения или службы IP-адрес в блоке 127.0.0.0/8 аналогичен любому другому IP-адресу.

Разница между запуском сервиса на петлевом интерфейсе и на «фактическом» сетевом интерфейсе заключается в том, что, как говорится в цитате из вашего вопроса, петлевой трафик никогда не передается «по проводу», то есть никакие данные не передаются. когда-либо передаваемые за пределы самого хоста.

Это означает, что если вы настраиваете службу в диапазоне замыкания на себя для тестирования, вы должны тестировать с того же хоста. Если вы хотите протестировать соединения с другого хоста (, чтобы проверить сетевое подключение ), вы должны вместо этого привязать свою службу к "проводному" -обращенному к интерфейсу и адресу прямо или косвенно..

2
28.01.2020, 02:18

tell me how to do a loopback test in Linux

Подключитесь к службе, работающей на локальном хосте, через петлю (, в данном случае это HTTP-сервер ). Если сервер настроен на прослушивание на всех интерфейсах, вам даже не нужно его перенастраивать.

$ telnet 127.0.0.1 80

, and contrast it with a non-loopback test which tests the same thing (any thing)?

Подключаться к тому же серверу с другого хоста через настоящий сетевой интерфейс (, очевидно, поскольку это единственный способ заставить пакеты передаваться на другую машину ).

$ telnet 192.168.0.100 80

(замените 192... реальным IP-адресом или сетевым именем хоста)

1
28.01.2020, 02:18

Да, но использование 1.1.1.1вводит зависимость от существующего IP-адреса в Австралии. Может ping -c 1 google.com?

1
28.01.2020, 02:18

Теги

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