Possível desativar "Você tem novos emails em / var / mail / root"?

14

Eu gostaria de desativar o cheque de correio no FreeBSD 9.1. Meu shell de login é BASH, então tentei adicionar

unset MAILCHECK

dentro /root/.bashrce /root/.profile, mas ainda recebo essas mensagens.

Questão

Existe uma maneira de se livrar dessas mensagens?

Sandra
fonte
Normalmente, você encaminhava rootas mensagens para outro lugar (como uma caixa de correio que você realmente verifica) - mas as respostas abaixo são boas se você deseja que as mensagens continuem sendo enviadas root, mas não deseja os banners.
precisa saber é o seguinte

Respostas:

5

Além da resposta de Dennis, o FreeBSD define a MAILvariável de ambiente para todos os usuários na defaultclasse de login. Isto é, em /etc/login.conf.

Você pode alterar isso de várias maneiras:

  1. Edite /etc/login.confe remova MAIL=/var/mail/$da setenvlinha. Você precisará compilar o banco de dados de logon executando cap_mkdb /etc/login.conf.

  2. Crie uma nova classe de logon que se aplique apenas a você ou a um grupo de usuários. Defina isso para cada usuário usando pw usermod <username> -L <class>.

  3. Crie um usuário específico ~/.login.conf. Este arquivo deve ter um registro chamado me. Isso pode substituir um subconjunto das configurações globais. Da mesma forma, esse arquivo precisa ser compilado cap_mkdb.

Consulte login.conf(5)para obter mais informações sobre o banco de dados de recursos de login.

James O'Gorman
fonte
6

Essas mensagens são provavelmente relatórios periódicos. É bastante comum definir daily_show_success=NO, /etc/periodic.confpara que não gere mensagens de "tudo de bom". Além disso, daily_output="$destination"deve ser definido como seu endereço de email ou um arquivo de log que você possa monitorar. O mesmo pode ser definido para weekly_e monthly_- e provavelmente deveria ser.

Você pode excluir esses e-mails iniciando mail, d *para excluir todas as mensagens e qsair.

Desabilitar a verificação de correio geralmente é um erro. Se um daemon estiver configurado incorretamente para enviar correio para a raiz local, você deve saber que ele pode ter algo importante a dizer e você perderá essas mensagens se desativar a verificação de e-mail.

Chris S
fonte
4

Isso deve cuidar dessa mensagem para logins raiz. Se você estiver efetuando login como outro usuário, precisará adicioná-lo ao ~/.bashrcde cada usuário para o qual deseja desativá-lo. Ou você pode colocá-lo no arquivo de inicialização central: /etc/profilepara que tenha efeito para todos os usuários.

Você precisará verificar se MAILCHECKestá sendo definido posteriormente, na sequência do arquivo de inicialização, substituindo a sua unset.

Observe que os arquivos de inicialização são processados ​​da seguinte maneira (no Manual do Bash ) (ênfase minha):

Chamado como um shell de logon interativo ou com --login

Quando o Bash é chamado como um shell de login interativo ou como um shell não interativo com a opção --login, ele primeiro lê e executa comandos do arquivo / etc / profile, se esse arquivo existir. Depois de ler esse arquivo, ele procura ~ / .bash_profile, ~ / .bash_login e ~ / .profile, nessa ordem, e lê e executa comandos do primeiro que existe e é legível . A opção --noprofile pode ser usada quando o shell é iniciado para inibir esse comportamento.

Quando um shell de login sai, o Bash lê e executa comandos do arquivo ~ / .bash_logout, se existir. Chamado como um shell interativo sem logon

Quando um shell interativo que não é um shell de login é iniciado, o Bash lê e executa comandos de ~ / .bashrc, se esse arquivo existir. Isso pode ser inibido usando a opção --norc. A opção de arquivo --rcfile forçará o Bash a ler e executar comandos do arquivo em vez de ~ / .bashrc.

Então, normalmente, seu ~ / .bash_profile contém a linha

if [-f ~ / .bashrc]; então . ~ / .bashrc; fi

depois (ou antes) de qualquer inicialização específica de login.

Pausado até novo aviso.
fonte