Spamassassin не работает после перезагрузки из-за отсутствия записи tmpfiles.d

Каталог / run / spamassassin не создается повторно при загрузке, потому что нет / usr / lib / tmpfiles .d / spamassassin , сообщающий ему об этом. Если я вручную создаю / run / spamassassin и запускаю службу, все работает нормально, но после перезагрузки та же проблема. Служба spamassassin.service включена, поэтому я не знаю, что мне делать. Я использую версию 3.4.2-6.el8.

Судя по поиску в Интернете, похоже, что он должен быть включен в пакет, но я не могу нигде найти содержимое файла. Когда я запускаю dnf repoquery -l spamassassin , он не указан как один из файлов, поэтому я не уверен, сгенерирован ли он постфактум.

Должен ли я создать этот файл вручную; этот файл должен быть сгенерирован после установки; или он должен быть установлен как часть пакета?

Благодарю за любую помощь!

0
задан 14 May 2020 в 16:33
1 ответ

Действительно не хватает какой-либо документации по правильной настройке Spamassassin с использованием сокетов unix (unix:/run/spamassassin/spamd.sock) вместо TCP услуга. Здесь и там очень мало упоминаний о некоторых отдельных установках Ubuntu и еще меньше о Cent или Fedora, но я не нашел ничего, что касалось бы проблемы с каталогом /run/spamassassin и его эфемерной природы.

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

Создается впечатление, что поскольку подавляющее большинство людей просто запускают spamassassin на отдельных машинах, используя стек TCP, нет необходимости готовить его для установки на основе сокетов, оставляя это делать вручную... без документации.

Следующее должно быть добавлено в файл переопределения по адресу /etc/systemd/system/spamassassin.service.d/override.conf в разделе [Service].

  1. Добавление следующих строк заставит службу создавать каталог runtime каждый раз при запуске службы, если он не существует...
RuntimeDirectory=spamassassin
RuntimeDirectoryMode=0770
  1. Эти строки позволят запустить/создать вышеуказанное используя пользователя root, а затем перейдите к пользователю и группе spamd для запуска службы. Без них вышеописанное не работало с ошибками отказано в доступе.
PermissionsStartOnly=True
User=spamd
Group=spamd

Надеюсь, это поможет тем, кто борется с настройкой сокетов и не хочет, наконец, просто сдаться и пойти по легкому пути.

0
ответ дан 15 May 2020 в 15:46

Теги

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