Ubuntu 中系统管理员接收系统通知的方式是什么?通常以电子邮件的形式发送到 root 账户?
此类通知的示例包括 cron 作业的输出,或RAID 降级通知。
在几乎默认的 Ubuntu 10.04 安装中,我找不到 root 的邮件除了存放在 之外发生的任何情况/var/mail/root
。用户应该如何 1. 发现它并 2. 在它到达时阅读它?
我观察到,在 warty 上,安装程序会添加root: myusername
到/etc/aliases
。因此,安装系统的用户(如果他/她)阅读本地邮件,则系统会通知他/她。因此,似乎在某个地方出现了倒退。但这仍不是一个完整的解决方案,因为不能指望 Ubuntu 用户知道他们有本地邮件,因此应该设置他们的邮件客户端来阅读它。
添加:鉴于当前的回复,服务器用户应该能够应对,前提是他意识到了这个问题。这很公平。但请考虑一下 J. Random Desktop User,他不知道如何使用命令行,只知道如何单击邮箱图标来阅读邮件。如何通知他系统想要告诉他某事?(如果不可避免,允许更有能力的用户进行一次性干预。)
答案1
受到以下评论的鼓励吉尔斯,我改编并扩展了另一个答案:
(我运行的是 Ubuntu 12.04.1 LTS,但一般的安装过程应该适用于以前和将来的 Ubuntu)
首先要安装邮件传输代理 (MTA),以便将邮件转发到邮件用户代理 (MUA),例如。这只是必要的,因为我们处理的是本地邮件,并且希望能够发送和接收;对于普通的远程 gmail 类型帐户,只需要Thunderbird
用户代理。Thunderbird
我使用postfix
,它本身是 的替代品sendmail
,有商业版本和开源版本。有关 postfix 功能的更多信息,请参阅官方网站用户可能会发现邮件列表如果出现任何问题,请包含有用的信息。
因此,要安装该程序,请运行
sudo apt-get install postfix
您可以在安装时进行配置,也可以拒绝该提议并稍后运行
sudo dpkg-reconfigure postfix
创建重要的配置文件(/etc/postfix/main.cfg
)。如果您手动编辑此文件(这并不推荐),则必须运行sudo newaliases
并sudo service postfix restart
随后应用更改。
Postfix
设置起来非常简单,尽管您可能希望应用一些特定设置。在下面看到的第一个屏幕中,您必须为您的邮件选择本地选项:
然后在下一个屏幕上选择您的“邮件名称”;它通常与 相同/etc/hostname
。您可以接受大多数后续屏幕的默认设置。
当它提到/etc/aliases
和根收件人和邮局局长收件人(如上),您可以填写您的用户名,但请确保通过阅读本教程的下一部分检查您的别名文件是否正确。
首先,正如建议的那样在这次讨论中/etc/aliases
如果设置正确 ,你的程序应该是这样的:
postmaster: root
root: mike
如果没有,请使用 编辑它sudo nano /etc/aliases
,然后运行sudo newaliases
和sudo service postfix restart
以便更新配置。Postfix's
别名功能允许邮件重定向,因此设置非常简单重要的本教程的其余部分。
正如以上链接,您需要创建一个.forward
包含您的用户名和 localhost: 的文件,例如mike@localhost
,以便 root 的邮件将转发给您。为此,请输入以下命令:
sudo touch /root/.forward
然后运行
sudo nano /root/.forward
将您的用户:例如放置mike@localhost
在文件中并保存它。
此外,我发现有必要将您的用户添加到邮件组以便Thunderbird
可以访问邮件文件:
sudo adduser $USER mail
然后注销并重新登录以使更改生效。无需像某些文章建议的chown
那样chmod
删除任何文件,将用户添加到邮件组是更好的做法,可以避免直接更改根文件系统上的权限。
现在进行Thunderbird
配置。转到编辑 > 帐户设置 > 帐户操作 > 添加其他帐户 > 选择 Unix spoolmail,然后在下一个屏幕中将您的用户名输入第一个框中,然后输入yourusername@localhost
第二个框中。
现在,转到帐户设置中的新帐户并选择服务器设置,然后选择本地目录/var/mail
或/var/mail/username
(如果设置),如下面的屏幕截图所示。
按照说明在本文中root@localhost
如果您想通过发送邮件到 然后单击 Thunderbird 中的获取邮件来接收邮件来测试帐户,则需要配置 smtp 服务器,因为 root 的邮件已被重定向到youruser@localhost
。
进入账户设置 > 发送服务器,选择添加新的服务器。设置如下图所示:
现在,最后测试一下您的帐户,方法是撰写一封邮件root@localhost
,然后在几秒钟后单击您帐户上的“获取邮件”。您应该会看到这样的电子邮件:
某些程序或日志需要配置才能将邮件发送给 root,但您可以根据需要决定。希望本文对您有用,因为设置Thunderbird
接收本地邮件并不总是那么简单。
答案2
如果这是服务器,我强烈建议您将 root 别名为真实的电子邮件地址,以便您的电子邮件能够发送给管理员,只需添加
# Person who should get root's mail
root: [email protected]
到 /etc/aliases 的末尾
或者,您可以将邮件配置为您的本地用户名,然后当您登录时,您将收到消息“您有邮件”,您可以使用命令mail
或在该服务器上安装 pine / mutt / alpine 或类似的东西来检查它。
答案3
我个人使用一个名为 nullmailer 的邮件代理。它充当邮件代理,并将发送给 root 的所有邮件传输到您选择的邮件地址。
您需要在 /etc/nullmailer 下的 conf 文件中设置其设置。基本上:为其提供您的邮件提供商地址和凭据,以及您想要接收根电子邮件的地址。
您可以使用以下方式安装
sudo apt-get install nullmailer
您可以在这里获取有关其设置的更多信息: http://jviz.research.iat.sfu.ca/wiki/index.php?title=HOWTO_Setup_Nullmailer
答案4
在会话中使用任何兼容邮件的客户端(例如 Thunderbird)
您可以轻松使用 POP3 / IMAP 协议公开您的本地邮件
将根邮件重定向至您的用户
sudo echo "root: $USER" > /etc/aliases # $USER is myuser
使用以下方式将您的本地邮件公开为 POP3 或 IMAP邮件实用程序
sudo apt install mailutils-pop3d # POP3
或者
sudo apt install mailutils-imap4d # IMAP
重新启动系统
将其添加到您的邮件客户端
在 Thunderbird 中你只需要输入user@localhost
你的用户登录密码