Jak administratorzy powinni czytać pocztę roota?

61

W jaki sposób Ubuntu może otrzymywać powiadomienia systemowe od administratorów systemu, które zwykle przyjmują formę wiadomości e-mail wysyłanej na konto root?

Przykładami takich powiadomień są dane wyjściowe zadań cron lub zdegradowane powiadomienia RAID .

W przypadku prawie domyślnej instalacji Ubuntu 10.04 nie mogę znaleźć sposobu, w jaki cokolwiek stanie się z pocztą roota oprócz deponowania /var/mail/root. W jaki sposób użytkownicy powinni 1. odkryć i 2. przeczytać go, gdy dotrze?

Obserwuję, że na Warty, instalator dodaje root: myusernamedo /etc/aliases. Więc wtedy użytkownik, który zainstalował system, jeśli przeczytał lokalną pocztę. Wydaje się, że gdzieś po drodze nastąpiła regresja. Jednak nie było to kompletne rozwiązanie, ponieważ użytkownicy Ubuntu nie powinni wiedzieć, że mają lokalną pocztę i powinni skonfigurować klienta pocztowego, aby ją czytał.

DODANO : biorąc pod uwagę aktualne odpowiedzi, użytkownik serwera powinien być w stanie sobie poradzić, pod warunkiem, że jest świadomy problemu. Słusznie. Ale rozważmy J. Random Desktop User, który nie wie, jak korzystać z wiersza poleceń i wie tylko, jak kliknąć ikonę skrzynki pocztowej, aby odczytać swoją pocztę. Jak można go powiadomić, że jego system chce mu coś powiedzieć? (Zezwól na jednorazową interwencję bardziej kompetentnego użytkownika, jeśli nie da się tego uniknąć).

Gilles
źródło
1
Udało mi się zmusić Kmaila do przeczytania mojej lokalnej poczty przy użyciu bardzo dziwnych hacków, które znalazłem, ale od aktualizacji do 11.10 jestem zagubiony
Dirk Hartzer Waldeck,
Niedawno przeprowadziłem długi samouczek na ten właśnie temat, chociaż odnoszący się do Thunderbird: patrz askubuntu.com/questions/192572/…
@Mik To, z odrobiną czegoś na temat instalowania Postfixa na górze, byłoby dobrą odpowiedzią tutaj.
Gilles
@Gilles Dzięki, chociaż prawdopodobnie musiałbym skrócić lub usunąć odpowiedź na inne pytanie, aby nie było powielania.
@Mik Nie, byłoby dobrze, aby ponownie opublikować zasadniczo tę samą odpowiedź (niezupełnie, ponieważ tutaj musisz zacząć od zainstalowania MTA). Pytania nie są duplikowane: są tutaj odpowiedzi, które nie zadziałałyby na inne pytanie i odwrotnie. Zdarza się, że czasami 90% odpowiedzi można przetworzyć na inne pytanie, to dobrze.
Gilles

Odpowiedzi:

33

Zachęcony komentarzami Gillesa dostosowałem i poszerzyłem inną odpowiedź:

(Korzystam z Ubuntu 12.04.1 LTS, ale ogólny proces instalacji powinien mieć zastosowanie do poprzednich i przyszłych Ubuntus)


Pierwszą rzeczą do zrobienia jest zainstalowanie Mail Transfer Agent (MTA), aby poczta mogła zostać przekazana do Mail User Agent (MUA), takiego jak Thunderbird. Jest to konieczne tylko dlatego, że mamy do czynienia z pocztą lokalną i chcemy móc ją wysyłać i odbierać; w przypadku zwykłych zdalnych kont typu Gmail, Thunderbirdkonieczny jest tylko taki agent użytkownika .

Używam postfix, która sama w sobie jest alternatywą sendmail, której istnieją wersje komercyjne i open source. Więcej informacji o możliwościach Postfiksa znajduje się na oficjalnej stronie, a użytkownicy mogą stwierdzić, że listy dyskusyjne zawierają przydatne informacje, jeśli pojawią się jakiekolwiek problemy.

Aby zainstalować program, uruchom

sudo apt-get install postfix

Możesz go skonfigurować, gdy jest zainstalowany, lub odrzucić ofertę i uruchomić później

sudo dpkg-reconfigure postfix

aby utworzyć ważny plik konfiguracyjny ( /etc/postfix/main.cfg). Jeśli kiedykolwiek ręcznie edytujesz ten plik, co niekoniecznie jest zalecane, musisz uruchomić, sudo newaliasesa sudo service postfix restartnastępnie zastosować zmiany.

Postfixjest dość prosty w konfiguracji, chociaż możesz mieć pewne określone ustawienia, które chcesz zastosować. Na pierwszym ekranie, który widzisz poniżej, musisz wybrać opcję lokalną dla swojej poczty:

wprowadź opis zdjęcia tutaj

Następnie na następnym ekranie wybierz „nazwę poczty”; zwykle jest taki sam jak /etc/hostname. Możesz zaakceptować ustawienia domyślne dla większości poniższych ekranów.

wprowadź opis zdjęcia tutaj

Kiedy wspomina o nim, /etc/aliasesa także o adresatach root i postmaster (jak wyżej), możesz wpisać swoją nazwę użytkownika, ale upewnij się, że sprawdziłeś, czy plik aliasów jest taki, jak powinien, czytając następną sekcję tego samouczka.

Po pierwsze, jak również zalecane w tej dyskusji , /etc/aliasespowinieneś być taki, jeśli jest poprawnie skonfigurowany:

postmaster:    root
root:   mike 

Jeśli nie, edytować go sudo nano /etc/aliases, a następnie uruchomić sudo newaliasesi sudo service postfix restarttak, że konfiguracja jest aktualizowana. Postfix'sfunkcja aliasów umożliwia przekierowywanie poczty, więc konfiguracja jest bardzo ważna w pozostałej części tego samouczka.

Jak wspomniano również w powyższym linku , musisz utworzyć .forwardplik zawierający swoją nazwę użytkownika i localhost: np mike@localhost. Aby poczta roota została Ci przekazana. Aby to zrobić, wprowadź następujące polecenia:

sudo touch /root/.forward

a następnie biegnij

sudo nano /root/.forward

umieścić użytkownika: np. mike@localhostw pliku i zapisać go.

Ponadto uznałem, że konieczne było dodanie użytkownika do grupy poczty, aby Thunderbirduzyskać dostęp do plików poczty:

sudo adduser $USER mail

a następnie wyloguj się i zaloguj, aby zmiany zostały wprowadzone. Nie ma potrzeby chownani chmodżadnych plików, jak mogą sugerować niektóre artykuły, a dodanie użytkownika do grupy poczty jest znacznie lepszą praktyką i pozwala uniknąć bezpośredniej zmiany uprawnień w głównym systemie plików.


Teraz do Thunderbirdkonfiguracji. Przejdź do edycji> ustawienia konta> akcje konta> dodaj inne konto> wybierz Uniksowy bufor poczty i na następnym ekranie umieść swoją nazwę użytkownika w pierwszym polu i umieść yourusername@localhostw drugim polu.

wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj

Teraz przejdź do nowego konta w ustawieniach konta i wybierz ustawienia serwera i wybierz lokalny katalog jako /var/maillub /var/mail/username(jeśli konfiguracja), jak na zrzucie ekranu poniżej.

wprowadź opis zdjęcia tutaj

Zgodnie z instrukcjami w tym artykule musisz skonfigurować serwer smtp, jeśli chcesz przetestować konto, wysyłając wiadomość na adres, root@localhosta następnie klikając opcję otrzymaj pocztę w Thunderbird, aby ją otrzymać, ponieważ poczta roota jest przekierowywana youruser@localhost.

Przejdź do ustawień konta> serwer poczty wychodzącej i wybierz nowy. Ustawienia powinny być takie jak na zrzucie ekranu poniżej:

wprowadź opis zdjęcia tutaj

Teraz wreszcie przetestuj swoje konto, tworząc wiadomość e-mail, root@localhosta następnie kilka sekund później kliknij Pobierz pocztę na swoim koncie. Powinieneś zobaczyć taki e-mail:

wprowadź opis zdjęcia tutaj

Niektóre programy lub dzienniki będą musiały zostać skonfigurowane w taki sposób, aby wysyłały pocztę do roota, ale można to ustalić w zależności od potrzeb. Mamy nadzieję, że ten artykuł będzie przydatny, ponieważ konfiguracja Thunderbirddo otrzymywania lokalnej poczty nie zawsze jest łatwa .

Społeczność
źródło
Działa na 17.04, nie dotknąłem grup.
Artem
21

Jeśli jest to serwer, zdecydowanie zalecam alias root na prawdziwy adres e-mail, aby otrzymać e-mail dostarczony do administratorów. To tak proste, jak dodanie

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

do końca / etc / aliasów

Alternatywnie możesz skonfigurować pocztę, aby była aliasowana do lokalnej nazwy użytkownika, a następnie po zalogowaniu pojawi się komunikat „Masz pocztę”, który możesz sprawdzić za pomocą mailpolecenia lub instalując pine / mutt / alpine lub coś podobnego na tym serwerze ..

Richard Holloway
źródło
1
Dzięki, to chyba wystarczające wytłumaczenie dla administratora serwera. Ale jak to wytłumaczyć J. Losowemu użytkownikowi pulpitu, który na pewno nie użyje wiersza poleceń, ale chciałby wiedzieć, czy jego dyski ulegają awarii?
Gilles
1
Zaczynasz pytanie: „W jaki sposób Ubuntu administratorzy systemu mogą otrzymywać powiadomienia systemowe ...”. W każdym razie, dla użytkowników komputerów stacjonarnych, aby mieć kontrolę nad komunikatami systemowymi, mogliby użyć dzienników systemowych gnome do przeglądania dzienników (które są już zainstalowane na domyślnym pulpicie Ubuntu jako część pakietu gnome-utils) lub dodać „root: nazwa użytkownika ”na końcu / etc / alias. Zgadzam się, że jest to słabe rozwiązanie i być może należy zgłosić błąd, aby ponownie dodać tę funkcję, ponieważ nie ma sposobu na GUI, aby to zrobić przy domyślnej instalacji Ubuntu.
Richard Holloway,
Alias ​​dla administratorów serwerów jest najlepszy. Możesz także sudo su - następnie użyć klienta CLI. Ale jeśli poważnie administrujesz skrzynką, utwórz alias. Zwykli użytkownicy nie muszą widzieć tej wiadomości. Mają inne sposoby powiadamiania. Jeśli chcą, mogą utworzyć alias. Domyślnie wyłączone jest domyślnie.
coteyr
Czy po skonfigurowaniu aliasu istnieje sposób na przesłanie całej poczty, która już istnieje?
Jan
Wygląda na to, że nie ma /etc/aliasespliku. Czy to wymaga uruchomienia serwera poczty, aby mógł zostać wygenerowany?
Thufir
11

Osobiście używam agenta pocztowego o nazwie nullmailer. Działa jako serwer proxy poczty i przenosi wszystkie wiadomości e-mail wysłane do roota na wybrany adres e-mail.

Musisz ustawić jego ustawienia w plikach conf w / etc / nullmailer. Zasadniczo: podaj mu adres i poświadczenia poczty oraz adres, na który chcesz otrzymywać wiadomości e-mail z katalogu głównego.

Możesz go zainstalować za pomocą

sudo apt-get install nullmailer

Więcej informacji na temat jego konfiguracji można znaleźć tutaj: http://jviz.research.iat.sfu.ca/wiki/index.php?title=HOWTO_Setup_Nullmailer

Mała Jawa
źródło
+1 dzięki za link (i zawarta w nim koncepcja MTA)
msw
2

Obecnie nie ma powiadomienia dla użytkownika, że ​​istnieje nawet lokalna główna skrzynka pocztowa, ponieważ user! = rootJeśli chcesz sprawdzić skrzynkę pocztową, możesz wpisać następujące polecenie: sudo mailaby uruchomić aplikację pocztową w katalogu głównym.

Możesz także zalogować się jako root na tym serwerze. Aby odblokować hasło roota, po prostu wpisz: sudo passwdi wprowadź nowe hasło roota.

Marco Ceppi
źródło
1
Z użytkownikiem testowym w wersji 10.04 korzystającym z domyślnego interfejsu opartego na gnome, domyślnego interfejsu opartego na kde lub domyślnego interfejsu opartego na lxde, nie widzę żadnego powiadomienia, że ​​coś w tym /var/mail/$USERjest.
Gilles
1

Alternatywa - archiwizuję całą pocztę główną do niektórych plików, a następnie usuwam oryginalną pocztę.

I cron skryptu (tutaj jest kluczowa część) -

#!/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

Dzięki temu wszystko jest uporządkowane i mogę mieć to na oku. Mógłbym wysłać codzienny plik poczty e-mail na zewnętrzny identyfikator e-maila itp.

Ja i
źródło