PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : root Mailfach versehentlich gelöscht



Stefan H
17.09.03, 16:35
Hallo,

ich habe versehentlich /var/mail/root gelöscht, ein "touch root" oder rcsendmail restart bringt nichts. Wie kann ich erreichen, dass wieder eine neue leere Datei angelegt wird, in die auch mails geschrieben werden?

Auf dem SuSE 8.1-Server läuft Sendmail.

LKH
17.09.03, 16:36
Hi,

sobald mails für root da sind wird auch das Postfach wieder angelegt. Ich lösche auch ab und an das root-Postfach ;)

Stefan H
17.09.03, 16:49
Hallo,

danke für den Tipp! Doch auf meinem Server rührt sich trotzdem nichts. Wenn man nun eine Mail an root schreibt, kommt sie nicht zurück. Es wird aber auch keine neue /var/mail/root angelegt. Wahrscheinlich läuft die Mail weiterhin in die bereits gelöschte root-Datei...

Gibt es trotzdem eine Lösung?

LKH
17.09.03, 19:28
Hi,

also in eine gelöschte Datei kann nichts reinlaufen rsp. gespeichert werden.

Stehen deine Mails an root noch in der Queue? Was sagt das Log-File?

Stefan H
17.09.03, 20:08
Hallo,

nachdem ich lokal eine Mail an root geschrieben habe sagt /var/log/mail :
Sep 17 21:01:03 s13 sendmail[10885]: h8HJ13ZV010885: from=root, size=33, class=0, nrcpts=1, msgid=<200309171901.h8HJ13ZV010885@s13.domain.net>, relay=root@localhost
Sep 17 21:01:03 s13 sendmail[10886]: h8HJ137s010886: from=<root@s13.domain.net>, size=311, class=0, nrcpts=1, msgid=<200309171901.h8HJ13ZV010885@s13.domain.net>, proto=ESMTP, daemon=MTA, relay=localhost [127.0.0.1]
Sep 17 21:01:03 s13 sendmail[10885]: h8HJ13ZV010885: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30024, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (h8HJ137s010886 Message accepted for delivery)

-> Mail wurde also akzeptiert

s13:/ # mailq
/var/spool/mqueue is empty
Total requests: 0

-> In der Mailqueue ist nichts mehr drin

Trotzdem wird weiterhin keine Datei /var/mail/root angelegt.

Hätte jemand einen Tipp?

Stefan H
18.09.03, 07:55
Hallo,

leider bin ich noch immer auf der Suche nach einer Lösung. Folgendes habe ich noch bemerkt:

In /var/spool/mail wurde die Datei root wieder angelegt. Diese enthält jedoch nur "Postmaster notify" Mails, die zwischenzeitlich vom Mail Delivery Subsystem <MAILER-DAEMON@s13.domain.net> abgeschickt wurden.

Von der Konsole an root oder postmaster abgeschickte Mails scheinen zugestellt zuu werden, es fehlt jedoch weiterhin die Datei /var/mail/root
Anscheinend werden die Mails in die von mir gelöscht root Datei noch geschrieben...

Was kann ich tun?

Jasper
18.09.03, 08:04
Original geschrieben von LKH

also in eine gelöschte Datei kann nichts reinlaufen rsp. gespeichert werden.


doch, das geht. ist ne böse falle. bsp:

ein prozess öffnet eine datei mit fd=x und schreibt in diese. wenn man jetzt die datei löscht, behält der prozess trotzdem den fd und kann weiterhin schreiben. die daten werden weiter in das filesystem geschrieben, allerdings fehlen die metadaten, so dass man mit normalen mitteln auf die datei nicht mehr zugreifen kann. sobald der prozess die datei schliesst, also den fd freigibt, kommt man gar nicht mehr (naja, seeehr schwer) an die daten heran.

das ganze lässt sich sehr leicht mit 'cat > bla' nachstellen.

-j

Stefan H
18.09.03, 08:24
Hallo,

aber wie kann ich dann dem System beibringen, dass die DAtei /var/mail/root wieder angelegt wird?

Wenn ich eine Log-Datei lösche, genügt "rcsyslog restart" und eine leere Logdatei steht wieder zur Verfügung. Doch wie wird eine Mail-Datei wieder angelegt? rcsendmail restart nützt nichts...

Jasper
18.09.03, 18:03
Original geschrieben von Stefan H

aber wie kann ich dann dem System beibringen, dass die DAtei /var/mail/root wieder angelegt wird?

Wenn ich eine Log-Datei lösche, genügt "rcsyslog restart" und eine leere Logdatei steht wieder zur Verfügung. Doch wie wird eine Mail-Datei wieder angelegt? rcsendmail restart nützt nichts...

das mbox-file wird normalerweise von sendmail selbst angelegt.
stoppe sendmail. sieh nach ob sendmail wirklich beendet ist, kontrolliere die permissions von /var/mail, starte sendmail neu, sende mail lokal an root und sieh dir alles vom start von sendmail an im logfile an.

-j