Как администраторы должны читать почту root?


61

Как в Ubuntu системные администраторы могут получать системные уведомления, которые обычно принимают форму электронной почты, отправляемой в корневую учетную запись?

Примерами таких уведомлений являются выходные данные заданий cron или устаревшие уведомления RAID .

При установке Ubuntu 10.04 по умолчанию, я не могу найти, чтобы что-нибудь случилось с почтой root, кроме того, что она была помещена в хранилище /var/mail/root. Как пользователи должны: 1. обнаружить это и 2. прочитать это, поскольку это прибывает?

Я наблюдаю, что на бородавке установщик добавил root: myusernameв /etc/aliases. Итак, тогда пользователь, который установил систему, если он прочитал местную почту. Так что, кажется, где-то на этом пути произошел регресс. Тем не менее, это не было полным решением, поскольку нельзя ожидать, что пользователи Ubuntu будут знать, что у них есть локальная почта, и им следует настроить свой почтовый клиент для ее чтения.

ДОБАВЛЕНО : учитывая текущие ответы, пользователь сервера должен иметь возможность справиться, если он знает о проблеме. Справедливо. Но рассмотрим J. Random Desktop User, который не знает, как использовать командную строку, и знает только, как щелкнуть значок почтового ящика, чтобы прочитать его почту. Как он может быть уведомлен, что его система хочет ему что-то сказать? (Разрешите одноразовое вмешательство более компетентного пользователя, если это неизбежно.)


1
Мне удалось заставить KMail читать мою локальную почту, используя некоторые очень странные хаки, которые я нашел, но с момента обновления до 11.10 я потерян
Дирк Хартцер Вальдек,

Недавно я сделал длинный учебник по этой теме, хотя он касалсяThunderbird : см. Askubuntu.com/questions/192572/…

@Mik Это, с небольшим количеством об установке постфикса наверху, сделало бы хороший ответ здесь.
Жиль "ТАК - перестань быть злым"

@ Жиль Спасибо, хотя мне, вероятно, пришлось бы сократить или удалить ответ на другой вопрос, чтобы не было дублирования.

@Mik Нет, было бы неплохо опубликовать практически тот же ответ (не совсем так, поскольку здесь вам нужно начать с установки MTA). Вопросы не повторяются: здесь есть ответы, которые не будут работать на другой вопрос, и наоборот. Бывает, что иногда 90% ответов можно использовать для другого вопроса, это нормально.
Жиль "ТАК - перестань быть злым"

Ответы:


33

Воодушевленный в комментариях Жиля , я адаптировал и расширил еще один ответ:

(Я использую Ubuntu 12.04.1 LTS, но общий процесс настройки должен применяться к предыдущему и будущему Ubuntus)


Первое, что нужно сделать, это установить Mail Transfer Agent (MTA), чтобы почта могла быть передана почтовому агенту пользователя (MUA), например Thunderbird. Это необходимо только потому, что мы имеем дело с локальной почтой и хотим иметь возможность отправлять и получать ее; с обычными удаленными учетными записями типа Gmail необходим только пользовательский агент, такой как Thunderbird.

Я использую postfix, которая сама является альтернативой sendmail, из которой существуют коммерческие версии и версии с открытым исходным кодом. Более подробная информация о возможностях postfix находится на официальном сайте, и пользователи могут обнаружить, что списки рассылки содержат полезную информацию, если возникнут какие-либо проблемы.

Итак, чтобы установить программу, запустите

sudo apt-get install postfix

Вы можете либо настроить его, когда он будет установлен, либо отклонить предложение и позже запустить

sudo dpkg-reconfigure postfix

создать важный файл конфигурации ( /etc/postfix/main.cfg). Если вы когда-либо вручную редактируете этот файл, что не обязательно рекомендуется, вы должны запустить sudo newaliasesи sudo service postfix restartзатем применить изменения.

Postfixдовольно прост в настройке, хотя у вас могут быть определенные настройки, которые вы хотите применить. На первом экране, который вы видите ниже, вы должны выбрать локальную опцию для вашей почты:

введите описание изображения здесь

Затем на следующем экране выберите свое «почтовое имя»; это обычно так же, как /etc/hostname. Вы можете принять значения по умолчанию для большинства следующих экранов.

введите описание изображения здесь

Когда в нем упоминается /etc/aliasesи получатель Root и Postmaster (как указано выше), вы можете заполнить свое имя пользователя, но убедитесь, что вы проверили, что ваш файл псевдонимов таков, как и должно быть, прочитав следующий раздел этого руководства.

Во-первых, как также рекомендуется в этом обсуждении , вы /etc/aliasesдолжны выглядеть следующим образом, если он настроен правильно:

postmaster:    root
root:   mike 

Если нет, отредактируйте его sudo nano /etc/aliases, а затем запустите sudo newaliasesи обновите sudo service postfix restartконфигурацию. Postfix'sФункция псевдонимов позволяет перенаправлять почту, поэтому настройка очень важна для остальной части этого урока.

Как также отмечено в приведенной выше ссылке , вам нужно создать .forwardфайл, содержащий ваше имя пользователя и localhost: например, mike@localhostчтобы почта root была перенаправлена ​​вам. Для этого введите следующие команды:

sudo touch /root/.forward

а потом беги

sudo nano /root/.forward

разместить своего пользователя: например, mike@localhostв файле и сохранить его.

Кроме того , я обнаружил, что необходимо добавить вашего пользователя в почтовую группу, чтобы Thunderbirdиметь доступ к почтовым файлам:

sudo adduser $USER mail

а затем выйдите и войдите, чтобы изменения вступили в силу. Нет необходимости в каких-либо chownили chmodкаких-либо файлах, как можно предположить в некоторых статьях, и добавление пользователя в почтовую группу является гораздо более эффективной практикой и позволяет избежать любого прямого изменения разрешений в корневой файловой системе.


Теперь для Thunderbirdконфигурации. Перейдите в раздел «Редактирование»> «Настройки учетной записи»> «Действия с учетной записью»> «Добавить другую учетную запись»> «Выберите почтовый ящик Unix» и на следующем экране введите свое имя пользователя в первое поле и поместите yourusername@localhostво второе поле.

введите описание изображения здесь введите описание изображения здесь

Теперь перейдите к новой учетной записи в настройках учетной записи, выберите настройки сервера и выберите локальный каталог как /var/mailили /var/mail/username(если он настроен), как показано на скриншоте ниже.

введите описание изображения здесь

Согласно инструкциям, приведенным в этой статье, вам потребуется настроить сервер smtp, если вы хотите протестировать учетную запись, отправив письмо на него, root@localhostа затем нажав кнопку получить почту в Thunderbird, чтобы получить его, поскольку почта root перенаправляется на youruser@localhost.

Перейдите в настройки учетной записи> исходящий сервер и выберите, чтобы добавить новый. Настройки должны быть такими, как на скриншоте ниже:

введите описание изображения здесь

Теперь, наконец, проверьте свою учетную запись, составив письмо, root@localhostа затем через несколько секунд нажмите кнопку «Получить почту» в своей учетной записи. Вы должны увидеть письмо вроде этого:

введите описание изображения здесь

Некоторые программы или журналы нужно будет настроить так, чтобы они отправляли почту в root, но это можно решить по мере необходимости. Надеемся, что эта статья будет полезна, поскольку не всегда легко настроить Thunderbirdполучение локальной почты.


Работает на 17.04, я не трогал группы.
Артём,

21

Если это сервер, я настоятельно рекомендую вам использовать псевдоним root для реального адреса электронной почты, чтобы вы доставляли свою почту своим администраторам. Это так же просто, как добавить

# Person who should get root's mail
root:   all_administrators@mydomain.com

до конца / etc / aliases

В качестве альтернативы вы можете настроить почту для псевдонима к вашему локальному имени пользователя, а затем при входе в систему вы получите сообщение «У вас есть почта», которое вы можете проверить с помощью mailкоманды или установив pine / mutt / alpine или что-то подобное на этом сервере. ..


1
Спасибо, это достаточно хорошее объяснение для администратора сервера, я полагаю. Но как мне это объяснить J. Случайному пользователю рабочего стола, который определенно не собирается использовать командную строку, но хотел бы знать, не работают ли его диски?
Жиль "ТАК ... перестать быть злым"

1
Вы начинаете задавать вопрос: «Как Ubuntu позволяет системным администраторам получать системные уведомления ...». Но в любом случае, для пользователей настольных систем, чтобы следить за системными сообщениями, они могут использовать gnome-system-log для просмотра журналов (который уже установлен на Ubuntu Desktop по умолчанию как часть пакета gnome-utils) или добавить «root: username» "до конца / etc / aliases. Я согласен, что это слабое решение, и, возможно, следует добавить ошибку, чтобы эта функция была добавлена ​​обратно, поскольку нет способа сделать это при установке Ubuntu по умолчанию.
Ричард Холлоуэй

Псевдоним для администраторов сервера является лучшим. Вы также можете sudo su - тогда использовать клиент CLI. Но если вы серьезно управляете коробкой, сделайте псевдоним. Обычные пользователи не должны видеть это письмо. У них есть другие средства для уведомлений. Если они хотят, то они могут создать псевдоним. Имеет смысл отключить его по умолчанию.
coteyr

После того, как вы настроили псевдоним, есть ли способ переслать всю почту, которая уже существует?
Джон

Там, кажется, нет /etc/aliasesфайла. Требуется ли для этого запуск почтового сервера?
Thufir

11

Лично я использую почтовый агент nullmailer. Он действует как почтовый прокси-сервер и передает все письма, отправленные root, на почтовый адрес по вашему выбору.

Вам необходимо установить его настройки в файлах conf в / etc / nullmailer. В основном: укажите свой почтовый адрес и учетные данные, а также адрес, по которому вы хотите получать корневые письма.

Вы можете установить его с

sudo apt-get install nullmailer

Вы можете получить больше информации о его настройке здесь: http://jviz.research.iat.sfu.ca/wiki/index.php?title=HOWTO_Setup_Nullmailer


+1 спасибо за ссылку (и воплощенную в ней концепцию крошечного MTA)
msw

2

В настоящее время нет уведомления пользователю о том, что корневой локальный почтовый ящик вообще существует, потому что user! = rootЕсли вам нужно было проверить почтовый ящик, вы можете ввести следующее: sudo mailзапустить почтовое приложение под root.

Вы также можете войти в систему как root на этом сервере. Чтобы разблокировать пароль root, просто введите: sudo passwdи введите новый пароль для root.


1
Когда в 10.04 тестовый пользователь использует интерфейс на основе gnome по умолчанию, интерфейс на основе kde по умолчанию или интерфейс на основе lxde по умолчанию, я не вижу никаких уведомлений о том, что что-то есть в /var/mail/$USERних.
Жиль "ТАК - перестать быть злым"

1

Альтернатива - я заархивирую всю корневую почту на несколько файлов, а затем удаляю исходную почту.

Я cron скрипт (вот ключевая часть) -

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

Это держит вещи в порядке, и я могу следить за этим. Я мог бы отправить ежедневный почтовый файл на внешний почтовый идентификатор и т. Д.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.