390

Иногда, когда я захожу в ящик и получаю root с правами su, я получаю симпатичное маленькое сообщение о том, что у меня есть почта (слава Богу, это не AOL).

  • Где эта почта?
  • Что это содержит?
  • Кто / Что послал это?
  • Насколько это важно?

Это даже фактическая "почта" в том же смысле, что и электронная почта? Или это просто моя система говорит мне что-то?

РЕДАКТИРОВАТЬ: В связи с этим вопросом, смогу ли я отправить себе почту с помощью программы sendmail, например, так: email@localhost?

7 ответов7

330

Где эта почта?

Вероятно, он находится в файле спула: /var/mail/$USER или /var/spool/mail/$USER - наиболее распространенные места в Linux и BSD.

(Возможны другие местоположения - проверьте, установлен ли $MAIL - но по умолчанию система только информирует вас о /var(/spool)/mail .)

Обычно файл спула находится в очень простом формате mbox , поэтому вы можете открыть его в текстовом редакторе или на пейджере.

Для более удобного способа большинство дистрибутивов поставляются с программой под названием mail (или Mail , mailx). Вы можете попробовать mutt или alpine ; Вы даже можете настроить его для отправки на внешний почтовый ящик. (Смотрите "это настоящая почта?"«ниже.)

Что это содержит, и кто / что послал это?

Чаще всего сообщения содержат выходные данные заданий cron, или отчет о безопасности системы по logwatch, или подобный мусор. Прочитайте это и узнайте.

Насколько это важно?

В значительной степени зависит от содержания каждого сообщения.

Вы должны по крайней мере просмотреть заголовки темы - часто люди игнорируют почту в течение нескольких месяцев, даже не осознавая, что их ежедневные задания cron терпят неудачу.

Это даже фактическая "почта" в том же смысле, что и электронная почта? Или это просто моя система говорит мне что-то?

Да, обоим - это генерируется вашей системой, которая говорит вам что-то, но это также реальная электронная почта и может обрабатываться как таковая.

Вы можете (и должны) настроить свое почтовое программное обеспечение - "MTA" aka /usr/sbin/sendmail - для пересылки сообщений на ваш личный почтовый адрес. Точные инструкции различаются в зависимости от того, какой MTA (если есть) вы установили, будь то персональный компьютер или сервер, есть ли у вас собственный домен или вы используете @ gmail.com и т.д.

Обратите внимание, что /usr/sbin/sendmail настоящее время является общим API и не обязательно означает оригинальный MTA Sendmail. На самом деле, вы не должны использовать Sendmail, но что-то более современное, такое как OpenSMTPD, Postfix или Exim4. Все они предоставляют один и тот же инструмент /usr/sbin/sendmail , но их проще настраивать, они более безопасны и столь же мощны.

189

Самым простым способом для меня было запустить следующее в терминале:

cat /var/spool/mail/root
45

Для тех, кто интересуется, как читать эти сообщения одно за другим, вы можете просто использовать «почта»

$ mail

Затем введите номер сообщения из списка, который вы хотите прочитать.

Чтобы перейти к следующему сообщению, вы можете напечатать «next», другая полезная команда - «delete».

Чтобы узнать больше о том, как работает mail программа, смотрите вывод man mail .

37

Просто для того, чтобы дать некоторые пояснения, в течение долгого времени в системах UNIX была традиция запускать "локально настроенный" почтовый демон, который не маршрутизирует сообщения через Интернет, а только копирует сообщения в каталоги спулинга других пользователей (как @John T упоминается). Это настоящая SMTP-совместимая электронная почта, просто она не маршрутизируется через Интернет, потому что это не обязательно.

Таким образом, если вы запустите почтовый клиент (например, alpine или mutt), вы можете отправлять почту другим пользователям в системе, обращаясь к user@hostname или, во многих случаях, просто указывая пользователя. У вас также, вероятно, есть утилита командной строки под названием mailx которую можно использовать для быстрой отправки электронной почты с помощью вашей оболочки.

Теперь, если вы хотите отправлять сообщения пользователям в системах, отличных от той, в которую вы вошли, вот где начинается настоящее веселье. Вам необходимо настроить демон почтовой программы для распознавания и передачи внешней электронной почты агенту передачи, настройки агента передачи и выполнения целого ряда вещей, которые я сам пока не понимаю.

23

Где эта почта?

Скорее всего, хранится на вашем компьютере, в папке почтового ящика для вашего пользователя root (где это зависит от того, какой тип почтового сервера вы установили). Вы можете получить к нему доступ довольно быстро через Alpine.

Что это содержит?

Вероятно, просто некоторые вещи типа системного отчета. "То и дело пытались войти в систему 10 раз с неверным паролем" .. «Хотелось бы, чтобы кто-нибудь запускал обновления для меня», «Драйвер такой-то постоянно отказывает», «Бот NSA повысил производительность на 1%» .. так далее..

Кто / Что послал это?

Сервисы на вашем сервере, скорее всего.

Насколько это важно?

Зависит от того, насколько важен ваш сервер.

13

Эта почта обычно находится в /var/spool/mail/root когда настроен (обычный) демон sendmail по умолчанию. Он содержит сообщение электронной почты в формате RAW, которое может быть прочитано mail утилитой. Кто его отправил, можно узнать, запустив mail утилиту и пролистав сообщения или прочитав заголовки RAW.

Важность сообщения обычно зависит от предыдущего фактора, который его отправил :)

Многие системные утилиты будут использовать почтовую подсистему как средство отчетности и регистрации. Утилиты наблюдения за журналами и другие службы могут отправлять электронное письмо локальному пользователю root в качестве напоминания о конкретном событии, таком как нехватка места на диске или аппаратные ошибки. Почтовый демон также предупредит вас, если ему не удалось отправить исходящее электронное письмо.

11

less +G /var/spool/mail/root

показывает последние письма, в конце, если файл.

Непосредственно показ почтового файла - хорошая идея, но использование cat может легко пойти не так. Вы не хотите, чтобы все письма прокручивались, если в файле много сообщений или очень длинные сообщения. Я только что видел один с 150 МБ, два миллиона строк.

Если вы не являетесь пользователем root:

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

Опция +G используется, чтобы сначала показать самое новое сообщение; Это не вверху файла, а в конце.

Это опция less , заставляющая показывать последнюю страницу файла после запуска. Это показывает последнее сообщение (самое новое), если оно умещается на одной странице, или конец этого в противном случае.

Имя файла может быть /var/spool/mail/mail вместо /var/spool/mail/root

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .