Назад | Перейти на главную страницу

Записать журнал rsyslog на главную

Что я сейчас работаю

Я написал приложение на Python, которое пишет сообщения через rsyslog. Я настроил rsyslog для записи в пользовательский файл журнала на /var/log/my_custom_log.log где мои записи подходят хорошо.

Мой по умолчанию syslog.conf не модифицирован. Мой /etc/rsyslog.d/00-myrules.conf как следует:

:msg, contains, "Transmission" /var/log/transmission.log
& ~

Я также не понимаю, что делает & ~ в конце, но, похоже, без него он не работает.

Что мне нужно для работы

Все, что я хочу, - это иметь возможность писать журналы на /home/me/logs/my_tests.log. Когда я тестирую свое приложение, мне нужно убедиться, что определенные вещи записываются в журнал определенное количество раз. Раньше я писал свои сообщения в текстовый файл в моем домашнем каталоге, проверял, был ли этот файл правильным, а затем удалял его для каждого теста. Теперь мне нужно сделать то же самое, но с rsyslog. Я провожу свои тесты как пользователь.

Я хочу, чтобы обычные журналы записывались в /var/log/my_app_log.log, это хорошо.

Что я пробовал

  1. Этот пользователь похоже, у меня была такая же проблема, но я не понимаю ни принятого ответа (я не понимаю, какое отношение к нему имеет SElinux, как он может на что-либо влиять, или что или где эти ярлыки, что они говорит) или другой (пользователь упоминает, что делать что-то не рекомендуется по соображениям безопасности, чего мне следует избегать, но я не понимаю, где запустить эту команду, даже если бы я хотел).
  2. Этот пользовательпроблема оказалась в том, кому принадлежал каталог, но если я запустил ps aux | grep "rsyslog", он возвращает это /usr/sbin/rsyslogd -n работает под корень, который (поправьте меня, если я ошибаюсь) должен иметь возможность записывать в подкаталоги мой домашний каталог, независимо от того, кому он принадлежит.

РЕДАКТИРОВАТЬ: После дальнейшего обсуждения мы решили, что было глупо иметь логи вне /var/log. В конце концов, для этого он нужен.

С участием помощь этого поста, Я обнаружил, что работает ls -Z раскрывает контексты SELinux. Как предполагалось на плакате, я скопировал контекст из /var/logs в каталог журналов в моем доме, и я получаю желаемые результаты.

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