我想在 FreeBSD 9.1 中禁用邮件检查。我的登录 shell 是 BASH,所以我尝试添加
unset MAILCHECK
Run Code Online (Sandbox Code Playgroud)
在/root/.bashrc和 中/root/.profile,但我仍然收到这些消息。
题
有没有办法摆脱这些消息?
这些消息可能是定期报告。设置是很常见的daily_show_success=NO,/etc/periodic.conf因此它不会生成“一切都好”的消息。此外,daily_output="$destination"应该设置为您的电子邮件地址或您可以监控的日志文件。可以为weekly_和设置相同的设置monthly_- 并且可能应该设置。
您可以通过启动mail、d *删除所有邮件和q退出来删除这些电子邮件。
禁用邮件检查通常是一个错误。如果守护进程配置不正确,无法将邮件传送到本地根,您想知道,它可能有重要的事情要说,如果禁用邮件检查,您将错过这些消息。
这应该会处理 root 登录的消息。如果您以其他用户身份登录,则需要将其添加到~/.bashrc要禁用它的每个用户的 中。或者您可以将其放在中央启动文件中:/etc/profile使其对所有用户生效。
您需要检查是否MAILCHECK在启动文件序列的稍后位置设置了覆盖您的unset.
请注意,启动文件的处理方式如下(来自Bash 手册)(强调我的):
作为交互式登录 shell 调用,或使用 --login 调用
当 Bash 作为交互式登录 shell 或带有 --login 选项的非交互式 shell 被调用时,它首先从文件 /etc/profile 中读取并执行命令(如果该文件存在)。 读取该文件后,它会按顺序查找 ~/.bash_profile、~/.bash_login 和 ~/.profile,并从第一个存在且可读的文件中读取并执行命令。启动 shell 时可以使用 --noprofile 选项来禁止此行为。
当登录 shell 退出时,Bash 会从文件 ~/.bash_logout(如果存在)中读取并执行命令。作为交互式非登录 shell 调用
当启动非登录 shell 的交互式 shell 时,Bash 会从 ~/.bashrc 读取并执行命令(如果该文件存在)。这可以通过使用 --norc 选项来禁止。--rcfile 文件选项将强制 Bash 从文件而不是 ~/.bashrc 读取并执行命令。
因此,通常,您的 ~/.bash_profile 包含行
如果 [ -f ~/.bashrc ]; 然后 。〜/ .bashrc;菲
在任何特定于登录的初始化之后(或之前)。
除了 Dennis 的回答之外,FreeBSD 还MAIL为default登录类中的所有用户设置了环境变量。这是在/etc/login.conf.
您可以通过多种方式更改此设置:
编辑/etc/login.conf并MAIL=/var/mail/$从setenv行中删除。然后您需要通过运行编译登录数据库cap_mkdb /etc/login.conf。
创建一个仅适用于您或一组用户的新登录类。使用 为每个用户设置此项pw usermod <username> -L <class>。
创建特定于用户的~/.login.conf. 这个文件应该有一个名为me. 这可以覆盖全局设置的子集。同样,此文件需要使用cap_mkdb.
有关login.conf(5)登录功能数据库的更多信息,请参见。
| 归档时间: |
|
| 查看次数: |
22345 次 |
| 最近记录: |