Можно ли отключить «У вас есть новая почта в / var / mail / root»?

14

Я хотел бы отключить проверку почты во FreeBSD 9.1. Моя оболочка входа в систему BASH, поэтому я попытался добавить

unset MAILCHECK

в /root/.bashrcи /root/.profile, но я все еще получаю эти сообщения.

Вопрос

Есть ли способ избавиться от этих сообщений?

Sandra
источник
Обычно вы просто пересылаете rootпочту куда-то еще (например, на почтовый ящик, который вы на самом деле проверяете), но ответы ниже - хорошие, если вы хотите, чтобы почта продолжала rootпоступать, но не хотели почтовые баннеры.
voretaq7

Ответы:

5

В дополнение к ответу Денниса, FreeBSD устанавливает MAILпеременную среды для всех пользователей в defaultклассе входа в систему. Это в /etc/login.conf.

Вы можете изменить это несколькими способами:

  1. Отредактируйте /etc/login.confи удалите MAIL=/var/mail/$из setenvстроки. Затем вам нужно скомпилировать базу данных для входа, запустив cap_mkdb /etc/login.conf.

  2. Создайте новый класс входа в систему, который будет применяться только к вам или группе пользователей. Установите это для каждого пользователя с помощью pw usermod <username> -L <class>.

  3. Создайте пользователя ~/.login.conf. Этот файл должен иметь запись называется me. Это может переопределить подмножество глобальных настроек. Также этот файл должен быть скомпилирован cap_mkdb.

Смотрите login.conf(5)для получения дополнительной информации о базе данных возможностей входа в систему.

Джеймс О'Горман
источник
6

Эти сообщения, вероятно, являются периодическими отчетами. Это довольно общие для набора daily_show_success=NOв /etc/periodic.confтак он не генерирует «все хорошо» сообщения. Также daily_output="$destination"должен быть указан ваш адрес электронной почты или файл журнала, который вы можете отслеживать. То же самое может быть установлено для weekly_и monthly_- и, вероятно, должно быть.

Вы можете удалить эти электронные письма, запустив mail, d *удалить все сообщения и qвыйти.

Отключение проверки почты обычно является ошибкой. Если демон неправильно настроен для доставки почты в локальный корень, вы хотите знать, что он может сказать что-то важное, и вы пропустите эти сообщения, если отключите проверку почты.

Крис С
источник
4

Это должно позаботиться об этом сообщении для корневых учетных записей. Если вы входите в систему как другой пользователь, вам нужно добавить это к ~/.bashrcкаждому пользователю, для которого вы хотите отключить его. Или вы можете поместить его в центральный файл запуска: /etc/profileчтобы он вступил в силу для всех пользователей.

Вам нужно будет проверить, установлен ли MAILCHECKон на более позднем этапе в последовательности файлов запуска, переопределяющей вашу unset.

Обратите внимание, что файлы запуска обрабатываются следующим образом (из руководства Bash ) (выделено мной):

Вызывается как интерактивная оболочка входа или с --login

Когда Bash вызывается как интерактивная оболочка входа в систему или как неинтерактивная оболочка с параметром --login, она сначала читает и выполняет команды из файла / etc / profile, если этот файл существует. После прочтения этого файла он ищет ~ / .bash_profile, ~ / .bash_login и ~ / .profile в указанном порядке, а также читает и выполняет команды из первой, которая существует и доступна для чтения . Опция --noprofile может использоваться, когда оболочка запущена, чтобы запретить это поведение.

Когда оболочка входа в систему закрывается, Bash читает и выполняет команды из файла ~ / .bash_logout, если он существует. Вызывается как интерактивная оболочка без авторизации

Когда запускается интерактивная оболочка, которая не является оболочкой входа в систему, Bash читает и выполняет команды из ~ / .bashrc, если этот файл существует. Это может быть запрещено с помощью параметра --norc. Опция --rcfile file заставит Bash читать и выполнять команды из файла вместо ~ / .bashrc.

Так что, как правило, ваш ~ / .bash_profile содержит строку

если [-f ~ / .bashrc]; тогда . ~ / .Bashrc; фи

после (или до) каких-либо специфичных для входа инициализаций.

Приостановлено до дальнейшего уведомления.
источник