Wie sollen Administratoren die Mail von root lesen?

61

Was ist die Ubuntu-Methode für Systemadministratoren, um Systembenachrichtigungen zu erhalten, die normalerweise in Form von E-Mails an das Root-Konto gesendet werden?

Beispiele für solche Benachrichtigungen sind die Ausgabe von Cron-Jobs oder herabgesetzte RAID-Benachrichtigungen .

Bei einer Standardinstallation von Ubuntu 10.04 kann ich nicht feststellen, dass mit der Mail von root etwas anderes passiert, als dass sie in hinterlegt ist /var/mail/root. Wie sollen Benutzer 1. es entdecken und 2. es lesen, wenn es eintrifft?

Ich beobachte , dass auf einem warzige, das Installationsprogramm hinzugefügt root: myusernamezu /etc/aliases. Also damals der Benutzer, der das System installiert hat, wenn er die lokale Mail gelesen hat. Irgendwo auf dem Weg scheint es also eine Regression gegeben zu haben. Dies war jedoch keine vollständige Lösung, da von Ubuntu-Benutzern nicht erwartet werden kann, dass sie lokale E-Mails haben und ihren E-Mail-Client zum Lesen einrichten sollten.

HINZUGEFÜGT : Angesichts der aktuellen Antworten sollte ein Serverbenutzer in der Lage sein, mit dem Problem umzugehen , sofern er sich dessen bewusst ist. Fair genug. Denken Sie jedoch an J. Random Desktop User, der nicht weiß, wie man eine Befehlszeile verwendet, und nur auf das Postfachsymbol klickt, um seine E-Mails zu lesen. Wie kann er benachrichtigt werden, dass sein System ihm etwas mitteilen möchte? (Ermöglichen Sie einen einmaligen Eingriff eines kompetenteren Benutzers, wenn dies unvermeidbar ist.)

Gilles 'SO - hör auf böse zu sein'
quelle
1
Ich habe es geschafft, KMail dazu zu bringen, meine lokalen Mails mit Hilfe einiger sehr seltsamer Hacks zu lesen, aber seit dem Update auf 11.10 bin ich verloren
Dirk Hartzer Waldeck,
Ich habe kürzlich ein langes Tutorial zu diesem Thema gemacht, obwohl es sich um Folgendes handeltThunderbird : askubuntu.com/questions/192572/…
@Mik Das, mit ein wenig etwas über die Installation von Postfix an der Spitze, würde hier eine nette Antwort geben.
Gilles 'SO - hör auf, böse zu sein'
@ Gilles Danke, obwohl ich wahrscheinlich die Antwort bei der anderen Frage kürzen oder löschen müsste, damit es nicht zu Duplikaten kommt.
@Mik Nein, es wäre in Ordnung, im Wesentlichen dieselbe Antwort erneut zu veröffentlichen (nicht genau, da Sie hier zunächst einen MTA installieren müssten). Die Fragen sind nicht doppelt: Hier gibt es Antworten, die bei der anderen Frage nicht funktionieren und umgekehrt. Es kommt vor, dass manchmal 90% einer Antwort für eine andere Frage wiederverwendet werden können, das ist in Ordnung.
Gilles 'SO - hör auf böse zu sein'

Antworten:

33

In den Kommentaren von Gilles ermutigt , habe ich eine andere Antwort angepasst und erweitert:

(Ich verwende Ubuntu 12.04.1 LTS, aber der allgemeine Installationsprozess sollte für frühere und zukünftige Ubuntus-Versionen gelten.)


Als Erstes müssen Sie einen Mail Transfer Agent (MTA) installieren, damit die Mail an einen Mail User Agent (MUA) weitergeleitet werden kann, z Thunderbird. Dies ist nur notwendig, weil wir es mit lokaler Post zu tun haben und diese senden und empfangen möchten. Bei normalen Remote-Konten vom Typ "Google Mail" ist nur ein Benutzeragent wie Thunderbirderforderlich.

Ich benutze postfix, was selbst eine Alternative ist sendmail, von denen es kommerzielle und Open-Source-Versionen gibt. Weitere Informationen zu den Funktionen von postfix finden Sie auf der offiziellen Website. Benutzer können feststellen, dass die Mailinglisten nützliche Informationen enthalten, wenn Probleme auftreten.

Führen Sie das Programm aus, um es zu installieren

sudo apt-get install postfix

Sie können es entweder bei der Installation konfigurieren oder das Angebot ablehnen und später ausführen

sudo dpkg-reconfigure postfix

um die wichtige Konfigurationsdatei zu erstellen ( /etc/postfix/main.cfg). Wenn Sie diese Datei jemals manuell bearbeiten, was nicht unbedingt empfohlen wird, müssen Sie sudo newaliasesund sudo service postfix restartanschließend ausführen , um die Änderungen zu übernehmen.

PostfixDie Einrichtung ist ziemlich einfach, obwohl Sie möglicherweise bestimmte Einstellungen vornehmen möchten. Im ersten Bildschirm, den Sie unten sehen, müssen Sie die lokale Option für Ihre Mail auswählen:

Bildbeschreibung hier eingeben

Wählen Sie dann im nächsten Bildschirm Ihren 'Mail-Namen' aus. es ist normalerweise dasselbe wie /etc/hostname. Sie können die Standardeinstellungen für die meisten der folgenden Bildschirme übernehmen.

Bildbeschreibung hier eingeben

Wenn erwähnt /etc/aliasesund der Root- und Postmaster-Empfänger (wie oben) angegeben sind, können Sie Ihren Benutzernamen eingeben. Lesen Sie jedoch den nächsten Abschnitt dieses Tutorials, um sicherzustellen, dass Ihre Aliase-Datei so ist, wie sie sein sollte.

Erstens, wie auch in dieser Diskussion empfohlen , /etc/aliasessollte dies so sein, wenn es richtig eingerichtet ist:

postmaster:    root
root:   mike 

Wenn nicht, bearbeiten Sie ihn mit sudo nano /etc/aliases, und dann laufen sudo newaliasesund sudo service postfix restartso , dass die Konfiguration aktualisiert wird. Postfix'sMit der Aliase-Funktion können E-Mails umgeleitet werden, daher ist die Einrichtung für den Rest dieses Tutorials sehr wichtig .

Wie auch im obigen Link vermerkt , müssen Sie eine .forwardDatei erstellen , die Ihren Benutzernamen und Ihren localhost enthält: zB mike@localhostdamit die Mail von root an Sie weitergeleitet wird. Geben Sie dazu die folgenden Befehle ein:

sudo touch /root/.forward

und dann rennen

sudo nano /root/.forward

So platzieren Sie Ihren Benutzer: zB mike@localhostin der Datei und speichern sie.

Außerdem stellte ich fest, dass es notwendig war, Ihren Benutzer zur Mail-Gruppe hinzuzufügen, Thunderbirddamit auf die Mail-Dateien zugegriffen werden kann:

sudo adduser $USER mail

Melden Sie sich anschließend ab und wieder an, damit die Änderungen wirksam werden. Es gibt keine Notwendigkeit chownoder chmodDateien, wie einige Artikel vermuten lassen, und das Hinzufügen Ihres Benutzers zur E-Mail-Gruppe ist eine viel bessere Vorgehensweise und verhindert das direkte Ändern der Berechtigungen im Root-Dateisystem.


Nun zur ThunderbirdKonfiguration. Gehen Sie zu Bearbeiten> Kontoeinstellungen> Kontoaktionen> Anderes Konto hinzufügen> Unix-Spoolmail auswählen und geben Sie im nächsten Bildschirm Ihren Benutzernamen in das erste Feld und yourusername@localhostin das zweite Feld ein.

Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben

Wechseln Sie nun in den Kontoeinstellungen zu Ihrem neuen Konto, und wählen Sie die Servereinstellungen aus. Wählen Sie dann das lokale Verzeichnis als /var/mailoder /var/mail/username(falls eingerichtet) aus (siehe Abbildung unten).

Bildbeschreibung hier eingeben

Gemäß den Anweisungen in diesem Artikel müssen Sie den SMTP-Server konfigurieren, wenn Sie das Konto testen möchten, indem Sie eine E-Mail an senden root@localhostund dann in Thunderbird auf E-Mail abrufen klicken, um sie zu empfangen, da die E-Mail von root an umgeleitet wird youruser@localhost.

Gehen Sie zu Kontoeinstellungen> Ausgangsserver und fügen Sie einen neuen hinzu. Die Einstellungen sollten wie im folgenden Screenshot aussehen:

Bildbeschreibung hier eingeben

Testen Sie nun Ihr Konto, indem Sie eine E-Mail an schreiben root@localhostund einige Sekunden später auf E-Mail in Ihrem Konto abrufen klicken. Sie sollten eine E-Mail wie diese sehen:

Bildbeschreibung hier eingeben

Einige Programme oder Protokolle müssen so konfiguriert werden, dass sie E-Mails an root senden. Dies kann jedoch nach Bedarf entschieden werden. Dieser Artikel sollte hoffentlich hilfreich sein, da es nicht immer einfach ist Thunderbird, das Empfangen von lokaler Mail einzurichten .

Gemeinschaft
quelle
Funktioniert für 17.04, ich habe die Gruppen nicht angerührt.
Artyom
21

Wenn es sich um einen Server handelt, empfehle ich dringend, dass Sie als Alias ​​root eine echte E-Mail-Adresse angeben, damit Ihre E-Mail an Ihre Administratoren gesendet wird. Das Hinzufügen ist so einfach

# Person who should get root's mail
root:   [email protected]

bis zum Ende von / etc / aliases

Alternativ können Sie E-Mails so konfigurieren, dass sie mit Ihrem lokalen Benutzernamen verknüpft sind. Wenn Sie sich dann anmelden, wird die Meldung "Sie haben E-Mails" angezeigt, die Sie mit dem mailBefehl oder durch Installieren von pine / mutt / alpine oder ähnlichem auf diesem Server überprüfen können ..

Richard Holloway
quelle
1
Danke, das ist eine gute Erklärung für einen Serveradministrator, nehme ich an. Aber wie erkläre ich das J. Random Desktop-Benutzer, der definitiv nicht die Befehlszeile verwenden wird, aber wissen möchte, ob seine Festplatten ausfallen?
Gilles 'SO - hör auf böse zu sein'
1
Ihre Frage beginnt: "Was ist die Ubuntu-Methode für Systemadministratoren, um Systembenachrichtigungen zu erhalten ...". Um die Systemnachrichten im Auge zu behalten, können Desktop-Benutzer jedoch gnome-system-log verwenden, um Protokolle anzuzeigen (die bereits auf einem Ubuntu-Desktop-Standard als Teil des gnome-utils-Pakets installiert sind) oder "root: username" hinzufügen "bis zum Ende von / etc / aliases. Ich bin damit einverstanden, dass dies eine schwache Lösung ist, und möglicherweise sollte ein Fehler gemeldet werden, um dieses Feature wieder einzufügen, da es keine GUI-Möglichkeit gibt, dies bei einer Ubuntu-Standardinstallation zu tun.
Richard Holloway
Der Alias ​​für Serveradministratoren ist am besten. Sie könnten auch sudo su - dann einen CLI-Client verwenden. Aber wenn Sie eine Box ernsthaft bewundern, machen Sie den Alias. Normale Benutzer müssen diese E-Mail nicht sehen. Sie haben andere Möglichkeiten für Benachrichtigungsnachrichten. Wenn sie möchten, können sie den Alias ​​erstellen. Es macht durchaus Sinn, dass dies standardmäßig deaktiviert ist.
Coteyr
Gibt es eine Möglichkeit, nach Einrichtung eines Alias ​​alle bereits vorhandenen E-Mails weiterzuleiten?
John
Es scheint keine /etc/aliasesDatei zu geben. Benötigt man dafür einen Mailserver, um generiert zu werden?
Thufir
11

Ich benutze persönlich einen Mailer-Agenten namens nullmailer. Es fungiert als Mail-Proxy und überträgt alle an root gesendeten Mails an eine Mail-Adresse Ihrer Wahl.

Sie müssen die Einstellungen in conf-Dateien unter / etc / nullmailer vornehmen. Grundsätzlich gilt: Geben Sie Ihre E-Mail-Adresse und Anmeldeinformationen sowie die Adresse an, unter der Sie die Stamm-E-Mails erhalten möchten.

Sie können es mit installieren

sudo apt-get install nullmailer

Weitere Informationen zu seiner Einrichtung erhalten Sie hier: http://jviz.research.iat.sfu.ca/wiki/index.php?title=HOWTO_Setup_Nullmailer

Kleiner Jawa
quelle
+1 Danke für den Link (und das darin verkörperte Teeny-MTA-Konzept)
msw
2

Derzeit wird dem Benutzer nicht mitgeteilt, dass sogar ein lokales Root-Postfach vorhanden ist, da user! = rootWenn Sie das Postfach überprüfen müssen, können Sie Folgendes sudo maileingeben : um die Mail-Anwendung unter Root zu starten.

Sie können sich auch als root auf diesem Server anmelden. Um das root-Passwort zu entsperren, geben Sie einfach Folgendes ein: sudo passwdund geben Sie ein neues Passwort für root ein.

Marco Ceppi
quelle
1
Bei einem Testbenutzer in 10.04, der die standardmäßige gnome-basierte Oberfläche oder die standardmäßige kde-basierte Oberfläche oder die standardmäßige lxde-basierte Oberfläche verwendet, wird keine Benachrichtigung darüber angezeigt, dass sich etwas in /var/mail/$USERbeiden befindet.
Gilles 'SO - hör auf böse zu sein'
1

Eine Alternative - Ich archiviere die gesamte Root-Mail in einigen Dateien und lösche dann die ursprüngliche Mail.

Ich habe ein Skript geschrieben (hier ist der Schlüsselteil) -

#!/bin/bash
if `/usr/bin/mail -e`; then
   /usr/bin/mail --print 2>&1 > /tmp/email_${date +"%Y-%m-%d_%H.%M").log
   echo ‘d *’ | /usr/bin/mail -N > /dev/null
fi
exit 0

Das hält alles aufgeräumt und ich kann es im Auge behalten. Ich könnte eine tägliche Mail-Datei per E-Mail an eine externe E-Mail-ID usw. senden.

Ich und
quelle