Possível desabilitar “Você tem novo email em / var / mail / root”?

12

Eu gostaria de desabilitar o mailcheck no FreeBSD 9.1. Meu shell de login é BASH, então tentei adicionar

unset MAILCHECK

em /root/.bashrc e /root/.profile , mas ainda recebo essas mensagens.

Pergunta

Existe uma maneira de se livrar dessas mensagens?

    
por Sandra 01.06.2013 / 11:48

4 respostas

4

Além da resposta de Dennis, o FreeBSD define a variável de ambiente MAIL para todos os usuários na classe de login default . Isso está em /etc/login.conf .

Você pode alterar isso de várias maneiras:

  1. Edite /etc/login.conf e remova MAIL=/var/mail/$ da linha setenv . Em seguida, você precisa compilar o banco de dados de login executando cap_mkdb /etc/login.conf .

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

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

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

    
por 01.06.2013 / 15:15
6

Essas mensagens são provavelmente relatórios periódicos. É muito comum definir daily_show_success=NO em /etc/periodic.conf para que não gere mensagens "todas boas". Além disso, daily_output="$destination" deve ser definido para o seu endereço de e-mail ou um arquivo de registro 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 q para sair.

Desativar a verificação de email geralmente é um erro. Se um daemon estiver configurado incorretamente para entregar e-mails para a raiz local, você quer saber, pode ter algo importante a dizer e você perderá essas mensagens se desativar a verificação de e-mail.

    
por 01.06.2013 / 16:06
4

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

Você precisará verificar se MAILCHECK está sendo definido em um ponto posterior na seqüência do arquivo de inicialização substituindo seu unset .

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

Invoked as an interactive login shell, or with --login

When Bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first reads and executes commands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable. The --noprofile option may be used when the shell is started to inhibit this behavior.

When a login shell exits, Bash reads and executes commands from the file ~/.bash_logout, if it exists. Invoked as an interactive non-login shell

When an interactive shell that is not a login shell is started, Bash reads and executes commands from ~/.bashrc, if that file exists. This may be inhibited by using the --norc option. The --rcfile file option will force Bash to read and execute commands from file instead of ~/.bashrc.

So, typically, your ~/.bash_profile contains the line

if [ -f ~/.bashrc ]; then . ~/.bashrc; fi

after (or before) any login-specific initializations.

    
por 01.06.2013 / 13:26
-1

edite o arquivo /etc/crontab e altere a linha MAILTO=root para MAILTO=""

Fonte: link

    
por 20.04.2016 / 21:49

Tags