Discussion:
root Mail forward
(zu alt für eine Antwort)
Jan Novak
2019-11-18 09:11:05 UTC
Permalink
Hallo,

kann ich z.B. automatisch erzeugte Mails an root oder Mails, die beim
Ausführen von Cron erzeugt werden (und an root oder die hinterlegte
Adresse in der Crontab) geschrieben werden, automatisch in ein Log File
umleiten?

Wir haben ein eigenes Überwachungssystem, welches diese Files dann
nutzen möchte.

Jan
Christian Garbs
2019-11-18 23:09:23 UTC
Permalink
Mahlzeit!
Post by Jan Novak
kann ich z.B. automatisch erzeugte Mails an root oder Mails, die beim
Ausführen von Cron erzeugt werden (und an root oder die hinterlegte
Adresse in der Crontab) geschrieben werden, automatisch in ein Log File
umleiten?
Was soll denn genau drinstehen? Spitzfindig könnte man ja einfach
behaupten, /var/mail/root wäre ein großes Logfile und dann ist man
fertig ;-)

Auf einem klassischen System kannst Du z.B. mit procmail die
empfangenen Mails nahezu beliebig bearbeiten. Wenn die Mails aber
stattdessen an einen IMAP-Server übergeben werden, dürfte es
schwieriger werden.

Gruß
Christian
--
....Christian.Garbs....................................https://www.cgarbs.de
Die Signatur darf kein textfreier Raum sein!
Jan Novak
2019-11-19 06:10:48 UTC
Permalink
Post by Christian Garbs
Post by Jan Novak
kann ich z.B. automatisch erzeugte Mails an root oder Mails, die beim
Ausführen von Cron erzeugt werden (und an root oder die hinterlegte
Adresse in der Crontab) geschrieben werden, automatisch in ein Log File
umleiten?
Was soll denn genau drinstehen? Spitzfindig könnte man ja einfach
behaupten, /var/mail/root wäre ein großes Logfile und dann ist man
fertig ;-)
Ok, aber da steht halt "alles" drin.
Dann müsste ich die Datei auseinander nehmen um die einzelnen Mails zu
filtern.
Post by Christian Garbs
Auf einem klassischen System kannst Du z.B. mit procmail die
empfangenen Mails nahezu beliebig bearbeiten. Wenn die Mails aber
stattdessen an einen IMAP-Server übergeben werden, dürfte es
schwieriger werden.
Wenn Mails vom Server gesendet werden, gehen sie doch nicht noch über
procmail!? Und selbst wenn... das wäre für die vielen Server zu aufwändig.

Ich befürchte, wir müssen uns etwas anderes überlegen, um alle Infos in
unser System zu bekommen...

Jan
Christian Garbs
2019-11-19 23:35:12 UTC
Permalink
Mahlzeit!
Post by Jan Novak
Post by Christian Garbs
Post by Jan Novak
kann ich z.B. automatisch erzeugte Mails an root oder Mails, die beim
Ausführen von Cron erzeugt werden (und an root oder die hinterlegte
Adresse in der Crontab) geschrieben werden, automatisch in ein Log File
umleiten?
Was soll denn genau drinstehen? Spitzfindig könnte man ja einfach
behaupten, /var/mail/root wäre ein großes Logfile und dann ist man
fertig ;-)
Ok, aber da steht halt "alles" drin.
Dann müsste ich die Datei auseinander nehmen um die einzelnen Mails zu
filtern.
mbox-Mailboxen kannst Du mit `formail -s' in einzelne Dateien aufsplitten
(und noch einigen anderen Kram damit machen).

Oder die Mails im maildir-Format abspeichern, dann ist jede Mail eine
Datei mit einem numerischen Timestamp, das lässt sich dann ganz
einfach mit einem Shellskript weiter verarbeiten.

Gruß
Christian
--
....Christian.Garbs....................................https://www.cgarbs.de
Telepath sucht weitere Telepathen. Antwort bitte per eMail.
Volker Englisch
2019-11-19 14:33:04 UTC
Permalink
Post by Jan Novak
Hallo,
kann ich z.B. automatisch erzeugte Mails an root oder Mails, die beim
Ausführen von Cron erzeugt werden (und an root oder die hinterlegte
Adresse in der Crontab) geschrieben werden, automatisch in ein Log File
umleiten?
Hier auf FreeBSD und sendmail gibt es ein File /etc/mail/aliases, in
diesem kann man z.B. root statt eines anderen User-Aliases auch ein
File zuweisen, in dem die Mails dann landen.

Ob das auf Linux auch so ähnlich funktioniert und ob das in etwa das
ist, was du möchtest, muss ich dir überlassen...

V.
Jan Novak
2019-11-20 06:00:44 UTC
Permalink
Post by Volker Englisch
Post by Jan Novak
Hallo,
kann ich z.B. automatisch erzeugte Mails an root oder Mails, die beim
Ausführen von Cron erzeugt werden (und an root oder die hinterlegte
Adresse in der Crontab) geschrieben werden, automatisch in ein Log File
umleiten?
Hier auf FreeBSD und sendmail gibt es ein File /etc/mail/aliases, in
diesem kann man z.B. root statt eines anderen User-Aliases auch ein
File zuweisen, in dem die Mails dann landen.
Ob das auf Linux auch so ähnlich funktioniert und ob das in etwa das
ist, was du möchtest, muss ich dir überlassen...
V.
nach sowas habe ich eigentlich gesucht, aber bisher nicht gefunden ...
das wäre ein Ansatz.

Jan
Volker Englisch
2019-11-20 17:44:08 UTC
Permalink
Post by Jan Novak
Post by Volker Englisch
Post by Jan Novak
Hallo,
kann ich z.B. automatisch erzeugte Mails an root oder Mails, die beim
Ausführen von Cron erzeugt werden (und an root oder die hinterlegte
Adresse in der Crontab) geschrieben werden, automatisch in ein Log File
umleiten?
Hier auf FreeBSD und sendmail gibt es ein File /etc/mail/aliases, in
diesem kann man z.B. root statt eines anderen User-Aliases auch ein
File zuweisen, in dem die Mails dann landen.
Ob das auf Linux auch so ähnlich funktioniert und ob das in etwa das
ist, was du möchtest, muss ich dir überlassen...
nach sowas habe ich eigentlich gesucht, aber bisher nicht gefunden ...
das wäre ein Ansatz.
Ich habe leider nur (User-) Zugriff auf ein altes Linux unter Postfix,
dort fand ich das File /etc/aliases, das der manpage nach das Gleiche
macht wie unter BSD.

V.
Christoph 'Mehdorn' Weber
2019-11-19 18:38:24 UTC
Permalink
Hallo!
Post by Jan Novak
kann ich z.B. automatisch erzeugte Mails an root oder Mails, die beim
Ausführen von Cron erzeugt werden (und an root oder die hinterlegte
Adresse in der Crontab) geschrieben werden, automatisch in ein Log File
umleiten?
Kann man, je nach Mailserver. Die groesseren (Sendmail, Exim,
Postfix, ...) unterstuetzen es, in den Aliases als Ziel ein
Kommando statt einer Datei anzugeben. Das Kommando muss dann nur
den Header und eventuelle Leerzeilen wegwerfen und den Rest
loggen.

Bequemer kann es sein, den jeweiligen Cron-Job einfach mit
"2>&1 | logger" direkt loggen zu lassen.

Christoph
--
Bei uns wird Hand in Hand gearbeitet:
Was die eine nicht schafft, laesst sie andere liegen.
Jan Novak
2019-11-20 06:01:44 UTC
Permalink
Post by Christoph 'Mehdorn' Weber
Hallo!
Post by Jan Novak
kann ich z.B. automatisch erzeugte Mails an root oder Mails, die beim
Ausführen von Cron erzeugt werden (und an root oder die hinterlegte
Adresse in der Crontab) geschrieben werden, automatisch in ein Log File
umleiten?
Kann man, je nach Mailserver. Die groesseren (Sendmail, Exim,
Postfix, ...) unterstuetzen es, in den Aliases als Ziel ein
Kommando statt einer Datei anzugeben. Das Kommando muss dann nur
den Header und eventuelle Leerzeilen wegwerfen und den Rest
loggen.
Danach suche ich...
Post by Christoph 'Mehdorn' Weber
Bequemer kann es sein, den jeweiligen Cron-Job einfach mit
"2>&1 | logger" direkt loggen zu lassen.
Das mache ich bereits so. Aber hier und da schreibt das System halt
eoine Mail und die hätte ich auch gerne abgefangen.

Jan
Christian Garbs
2019-11-20 21:42:58 UTC
Permalink
Mahlzeit!
Post by Jan Novak
Post by Christoph 'Mehdorn' Weber
Post by Jan Novak
kann ich z.B. automatisch erzeugte Mails an root oder Mails, die beim
Ausführen von Cron erzeugt werden (und an root oder die hinterlegte
Adresse in der Crontab) geschrieben werden, automatisch in ein Log File
umleiten?
Kann man, je nach Mailserver. Die groesseren (Sendmail, Exim,
Postfix, ...) unterstuetzen es, in den Aliases als Ziel ein
Kommando statt einer Datei anzugeben. Das Kommando muss dann nur
den Header und eventuelle Leerzeilen wegwerfen und den Rest
loggen.
Für das Filtern in dieser Konstellation käme wieder formail in Betracht.
Post by Jan Novak
Danach suche ich...
Wenn Du eine fast leere ~/.procmailrc anlegst, kannst Du darin ein
LOGFILE setzen. In das Logfile werden pro Mail drei Zeilen
geschrieben, das sieht dann so aus:

From ***@yahoo.com Tue Sep 19 21:10:07 2017
Subject: ***SPAM*** inquiry
Folder: spam/new/1505848207.3782_1.yggdrasil 3861
From ***@yahoo.com Tue Sep 19 21:10:11 2017
Subject: Hello
Folder: spam/new/1505848211.3798_1.yggdrasil 236733
From ***@zahnzusatz2017.com Tue Sep 19 21:40:07 2017
Subject: AW: Ihre Hausbank will den Kredit nicht aufstocken
Folder: spam/new/1505850007.9875_1.yggdrasil 5891

Echtdaten :-)

In der restlichen .procmailrc brauchst Du eigentlich keine weiteren
Kommandos, vermutlich nur die Angabe eines Zielpostfaches (ggf. auch
einfach /dev/null). (Ich habe mein procmail vor >10 Jahren initial
konfiguriert und außer, dass ich die Zielordner gelegentlich etwas
ändere, habe ich von den Details keine Ahnung mehr …)


Probiere einfach mal aus, ob die Datei greift, wenn sie vorhanden ist.
Es besteht eine reelle Chance, dass Support für procmail die in der
Standardkonfiguration eines Mailservers schon drin ist. Ggf. muss
procmail selbst noch installiert werden.


Gab es nicht auch halbwegs standardisiert eine ~/.forward für die
Leute, die /etc/aliases nicht editieren dürfen?

Gruß
Christian
--
....Christian.Garbs....................................https://www.cgarbs.de
Of course Pacman didn't influence us as kids. If it did, we'd be running
around in darkened rooms, popping pills and listening to repetitive music.
Helmut Waitzmann
2019-11-21 08:34:45 UTC
Permalink
Post by Christian Garbs
Gab es nicht auch halbwegs standardisiert eine ~/.forward für die
Leute, die /etc/aliases nicht editieren dürfen?
Meine ich auch. Es könnte sein, dass es dazu die Handbuchseite
„forward(5)“ gibt.
Christoph 'Mehdorn' Weber
2019-11-22 15:50:25 UTC
Permalink
Hallo!
Post by Helmut Waitzmann
Post by Christian Garbs
Gab es nicht auch halbwegs standardisiert eine ~/.forward für die
Leute, die /etc/aliases nicht editieren dürfen?
Es könnte sein, dass es dazu die Handbuchseite
„forward(5)“ gibt.
Zumindest bei postfix steht das einfach mit in aliases(5):

| Users can control delivery of their own mail by setting up .forward
| files in their home directory. Lines in per-user .forward files have
| the same syntax as the right-hand side of aliases(5) entries.

Christoph
--
MS-Office ist so produktiv wie eine Braunkohle-
foerderroboter in einem Taschenuhrenwerk.
(Juergen P. Meier)
Urs Janßen
2019-11-20 14:12:02 UTC
Permalink
Post by Jan Novak
Post by Christoph 'Mehdorn' Weber
Kommando statt einer Datei anzugeben. Das Kommando muss dann nur
den Header und eventuelle Leerzeilen wegwerfen und den Rest
loggen.
Danach suche ich...
# crontab
MAILTO="body-logger"

# /etc/aliases
body-logger: "|sed -e '1,/^$/ d'|logger"
Jan Novak
2019-11-21 12:32:49 UTC
Permalink
Post by Urs Janßen
Post by Jan Novak
Post by Christoph 'Mehdorn' Weber
Kommando statt einer Datei anzugeben. Das Kommando muss dann nur
den Header und eventuelle Leerzeilen wegwerfen und den Rest
loggen.
Danach suche ich...
# crontab
MAILTO="body-logger"
# /etc/aliases
body-logger: "|sed -e '1,/^$/ d'|logger"
Was genau macht der sed Befehl und wozu logger ?
Logger ist doch dafür, etwas ins syslog zu schreiben, oder?


Jan
Urs Janßen
2019-11-21 12:56:34 UTC
Permalink
Post by Jan Novak
body-logger: "|sed -e '1,/^$/d'|logger"
Was genau macht der sed Befehl
alles bis zur (incl.) ersten (1) leerzeile (/^$/) entsorgen (d)
Post by Jan Novak
und wozu logger ?
Logger ist doch dafür, etwas ins syslog zu schreiben, oder?
dann mach da halt ">>/where/to/keep/the/junk" draus

urs
--
1 A$="HIKAAAIMAONMMIIMBKNAKJBLINBBNAINBEADKJMAINBFADFIGAAAAAKNBJNAINBJNABGA"
2 A$=A$+"CBGACKAAALJEKMANBACNBACINCBNAINCANAINBCNAKCAGMKNAPNMIMAAKNAOGKJBLI"
3 A$=A$+"NBBNAFIEMDBOKKAKLKMKPKBKPKMKLKAKAKAKAKAKAKAKAAA":FORI=1TO91
4 POKE49151+I,(ASC(MID$(A$,2*I-1,1))*16+ASC(MID$(A$,2*I,1))-1105):NEXT:SYS49152
Jan Novak
2019-11-21 13:14:11 UTC
Permalink
Post by Urs Janßen
Post by Jan Novak
body-logger: "|sed -e '1,/^$/d'|logger"
Was genau macht der sed Befehl
alles bis zur (incl.) ersten (1) leerzeile (/^$/) entsorgen (d)
ahhh... den gesmaten Header weg lassen...
Post by Urs Janßen
Post by Jan Novak
und wozu logger ?
Logger ist doch dafür, etwas ins syslog zu schreiben, oder?
dann mach da halt ">>/where/to/keep/the/junk" draus
Ich pipe es an mein Script. Das wars dann schon.
perfekt, genau was ich gebraucht habe.

Herzlichen dank.

Jan
Loading...