Назад | Перейти на главную страницу

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

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

unset MAILCHECK

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

Вопрос

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

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

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

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

В дополнение к ответу Денниса 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) для получения дополнительной информации о базе данных возможностей входа в систему.

Это должно позаботиться об этом сообщении для входа в систему root. Если вы входите в систему как другой пользователь, вам нужно добавить это в ~/.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; фи

после (или до) любых инициализаций для входа в систему.

отредактируйте файл /etc/crontab и измените строку MAILTO=root к MAILTO=""

Источник: http://michaelprogramming.blogspot.com/2014/01/disable-you-have-new-mail-in.html