2011-07-04 15:23:42 +0000 2011-07-04 15:23:42 +0000
446
446

Co to jest wiadomość "Masz nową pocztę" w Linuksie/UNIXie?

Czasami, kiedy loguję się do skrzynki i ‘su’ do roota, dostaję małą słodką wiadomość mówiącą, że mam pocztę (dzięki Bogu to nie jest AOL).

  • Gdzie jest ta poczta?
  • Co zawiera?
  • Kto/Co ją wysłał?
  • Jak ważna jest ta poczta?

Czy jest to nawet prawdziwa “poczta” w tym samym znaczeniu co email? Czy może po prostu mój system coś mi mówi?

EDIT: W związku z tym pytanie, czy mógłbym wysłać sobie pocztę używając programu pocztowego jak: email@localhost?

Odpowiedzi (7)

367
367
367
2011-07-04 16:30:34 +0000

Where is this mail?

It’s likely to be in the spool file: /var/mail/$USER or /var/spool/mail/$USER are the most common locations on Linux and BSD.

(Other locations are possible - check if $MAIL is set - but by default, the system only informs you about /var(/spool)/mail. )

Zwykle plik szpuli jest w bardzo prostym formacie mbox, więc można go otworzyć w edytorze tekstowym lub na pagerze.

W nieco wygodniejszy sposób, większość dystrybucji posiada program o nazwie mail (lub Mail, mailx). Możesz spróbować mutt lub alpine; możesz nawet skonfigurować go tak, aby był wysyłany do zewnętrznej skrzynki pocztowej. (Zobacz “czy to prawdziwa poczta?” poniżej.)

Co ona zawiera i kto/co ją wysłał?

Najczęściej wiadomości zawierają wyjście z zadań cron, lub raport bezpieczeństwa systemu przez logwatch, lub podobny śmieć. Przeczytaj to i dowiedz się.

Jak ważne jest to wszystko?

Zależy w dużej mierze od treści każdej wiadomości.

Powinieneś przynajmniej zeskanować nagłówki tematu - często ludzie ignorują pocztę przez miesiące nigdy nie zdając sobie sprawy, że ich codzienna praca crona zawodzi.

Czy to w ogóle jest prawdziwa “poczta” w tym samym znaczeniu co email? Czy też jest to po prostu moja poczta?

Yes to both - to jest generowane przez Twój system, który mówi Ci coś, ale jest to również rzeczywista poczta i może być traktowana jako taka.

Możesz (i powinieneś) skonfigurować swoje oprogramowanie pocztowe - “MTA” alias /usr/sbin/sendmail - aby przekazywać wiadomości na Twój osobisty adres e-mail. Dokładne instrukcje różnią się w zależności od tego, który MTA (jeśli jest zainstalowany), czy jest to komputer osobisty czy serwer, czy masz własną domenę lub używasz @gmail.com, i tak dalej.

Zauważ, że /usr/sbin/sendmail jest obecnie współdzielonym API i _niekoniecznie oznacza oryginalny Sendmail MTA. W rzeczywistości, _nie powinieneś używać Sendmail, ale czegoś bardziej nowoczesnego jak OpenSMTPD, Postfix lub Exim4. Wszystkie one zapewniają to samo narzędzie /usr/sbin/sendmail, ale są łatwiejsze do skonfigurowania, bezpieczniejsze i tak samo wydajne.

219
219
219
2011-11-25 11:46:45 +0000

Najłatwiej było mi uruchomić w terminalu:

cat /var/spool/mail/root
64
64
64
2014-08-30 19:47:07 +0000

Dla każdego, kto zastanawia się, jak czytać te wiadomości jedna po drugiej, możesz po prostu użyć ‘mail’

$ mail

Następnie wpisz numer wiadomości z listy, którą chcesz przeczytać.

Aby przejść do następnej wiadomości możesz wpisać ‘next’, innym przydatnym poleceniem jest ‘delete’…

Aby zobaczyć więcej o tym, jak działa program mail, zobacz wyjście z man mail.

41
41
41
2011-07-04 16:31:21 +0000

Dla wyjaśnienia, od dłuższego czasu tradycją skrzynek UNIX-owych jest uruchamianie “lokalnie skonfigurowanego” demona pocztowego, który nie wysyła wiadomości przez Internet, a jedynie kopiuje wiadomości do innych katalogów szpul użytkowników (jak wspomniał @John T). Jest to prawdziwa poczta zgodna ze standardem SMTP, po prostu nie jest przekierowywana przez Internet, ponieważ nie musi być.

Tak więc, jeśli uruchomisz klienta poczty (jak alpine lub mutt) możesz wysyłać pocztę do innych użytkowników w systemie adresując go do user@hostname, lub w wielu przypadkach po prostu podając użytkownika. Prawdopodobnie posiadasz również narzędzie wiersza poleceń o nazwie mailx, które może być użyte do wysłania szybkiego maila za pomocą Twojej powłoki.

Teraz, jeśli chcesz wysłać wiadomość do użytkowników w innych systemach niż ten, do którego jesteś zalogowany, to właśnie tam zaczyna się prawdziwa zabawa. Musisz skonfigurować swojego demona pocztowego, aby rozpoznawał i przekazywał zewnętrzne wiadomości e-mail do agenta transferowego, konfigurował agenta transferowego i robił całą masę rzeczy, których sam jeszcze nie rozumiem.

26
26
26
2011-07-04 15:29:18 +0000

Gdzie jest ta poczta?

Bardzo prawdopodobne, że jest przechowywana na komputerze, w folderze skrzynki pocztowej dla użytkownika root (gdzie to zależy od tego, jaki serwer pocztowy masz zainstalowany). Prawdopodobnie możesz uzyskać do niego dość szybki dostęp poprzez alpine.

*Co on zawiera? *

Prawdopodobnie tylko niektóre rzeczy typu raport systemowy. “Więc i tak próbował zalogować się 10 razy z niewłaściwym hasłem”… “Życzę sobie, żeby ktoś uruchomił na mnie aktualizacje”, “sterownik taki i taki ciągle zawodzi”, “Bot NSA zwiększył wydajność o 1%”… etc…

Kto/co go wysłał?

Usługi na Twoim serwerze, najprawdopodobniej.

*Jak ważne jest to? *

Zależy od tego jak ważny jest Twój serwer.

14
14
14
2011-07-04 15:28:29 +0000

Ta poczta znajduje się zazwyczaj w /var/spool/mail/root, gdy (zwykle) domyślny demon wysyłkowy jest skonfigurowany. Zawiera on wiadomość e-mail w formacie RAW, która może być odczytana przez narzędzie mail. Kto ją wysłał, można go znaleźć uruchamiając narzędzie mail i przeglądając wiadomości lub czytając nagłówki RAW.

Znaczenie wiadomości zazwyczaj zależy od poprzedniego czynnika, który ją wysłał :)

Wiele narzędzi systemowych będzie używać podsystemu poczty jako sposobu raportowania i logowania. Narzędzia monitorujące logi i inne usługi mogą wysyłać wiadomości e-mail do lokalnego użytkownika root jako przypomnienie o konkretnym zdarzeniu, takim jak mała ilość miejsca na dysku lub błędy sprzętowe. Demon pocztowy będzie również ostrzegał, jeśli nie wysłał e-maila wychodzącego.

12
12
12
2014-09-03 00:16:39 +0000

less +G /var/spool/mail/root

pokazuje najnowsze wiadomości, na końcu jeśli plik.

Bezpośrednie pokazywanie pliku pocztowego jest dobrym pomysłem, ale użycie cat może łatwo pójść źle. Nie chcesz, aby wszystkie maile były przewijane, jeśli w pliku znajduje się wiele wiadomości, lub bardzo długie wiadomości. Właśnie zobaczyłem jedną o wielkości 150MB, dwa miliony linii.

Jeśli nie jesteś rootem:

sudo less +G /var/spool/mail/root

Opcja +G służy do pokazania najpierw najnowszej wiadomości; nie jest ona na górze pliku, ale na końcu.

Jest to opcja less, dzięki której pokazuje ostatnią stronę pliku po uruchomieniu. Pokazuje ostatnią wiadomość (najnowszą), jeśli mieści się na jednej stronie, lub na jej końcu w przeciwnym wypadku.

Nazwa pliku może być /var/spool/mail/mail zamiast /var/spool/mail/root