Problem bei der Verwendung von Spamassassin als Nicht-Root-Benutzer

Problem bei der Verwendung von Spamassassin als Nicht-Root-Benutzer

Ich führe Spamassassin unter Ubuntu 14.04 als Root aus. Wenn ich eine der Methoden wie Check oder ReportSpam aufrufe, übergebe ich auch einen anderen Benutzer, unter dem die Prüfung ausgeführt werden soll. Allerdings tritt ein Berechtigungsproblem auf.

spamd: Can't locate Mail/SpamAssassin/PerMsgLearner.pm: 
Permission denied at /usr/share/perl5/Mail/SpamAssassin.pm line 644, <GEN14> line 7.

In Zeile 644 dieses Perl-Skripts wird versucht, eine andere Perl-Datei zu importieren

require Mail::SpamAssassin::PerMsgLearner;

Dies ist kein Problem, wenn Sie als Root ausgeführt werden. Das Problem beim Ausführen der Funktionen als Root besteht darin, dass die Bayes-Dateien (um im Laufe der Zeit Spam zu erkennen) in /nonexistent geschrieben werden, ein Verzeichnis, das nicht existiert (es ist das Home-Verzeichnis für den Benutzer „nobody“).

Weder als Root noch als anderer Benutzer kann ich SpamAssassin dazu bringen, die Bayes-Datei auf die Festplatte zu schreiben, sodass die Lernfunktionalität beschädigt ist.

Antwort1

Es stellte sich heraus, dass ich die folgende Zeile zur /etc/mail/spamassassinKonfiguration hinzufügen und dann Spamassassin neu kompilieren musste. Beachten Sie, dass es wichtig ist, den Dateinamen am Ende anzugeben, z. B. bayes

bayes_path /path/to/dir/bayes

verwandte Informationen