
Ich möchte ein Skript ausführen, wenn eine E-Mail empfangen wird. Ich habe diese Zeile zu /etc/aliases hinzugefügt
meinBenutzer: "|/home/meinBenutzer/mailer.rb"
Wenn ich eine E-Mail an myuser@domain sende, wird im Mailprotokoll der Fehler „Zugriff verweigert“ angezeigt.
12. Aug. 14:17:59 stag postfix/local[29300]: E5B8F67024F: to=, relay=local, delay=1596, delays=1596/0.01/0/0.02, dsn=4.3.0, status=deferred (vorübergehender Fehler. Befehlsausgabe: local: fatal: execvp /home/myuser/mailer.rb: Zugriff verweigert)
Die Berechtigung für mailer.rb beträgt 755. Warum erhalte ich die Fehlermeldung „Berechtigung verweigert“?
Ich würde mich über jede Hilfe freuen. Danke!
Antwort1
Können Sie mit diesem Benutzer bis zum Skript gelangen? Ich vermute, es kann das Home-Verzeichnis des Benutzers nicht öffnen. Versuchen Sie,
sudo -u postfix /home/myuser/mailer.rb
dies zu bestätigen. Um das Problem zu beheben, welche Distribution verwenden Sie?
Antwort2
Ist SELinux aktiviert? Sie können dies mit überprüfen getenforce
. Wenn es zurückgibtStrikt, dann ist SELinux aktiviert und kann diese Art von Problemen verursachen. Wenn Sie SELinux nicht benötigen, können Sie es vorübergehend deaktivieren setenforce 0
und prüfen, ob das Problem dadurch behoben wird.
Wenn dies der Fall ist, können Sie SELinux dauerhaft deaktivieren, indem Sie die Datei ändern/etc/selinux/config.