it-swarm.cn

管理员如何阅读root的邮件?

系统管理员接收系统通知的Ubuntu方式是什么,通常采用发送到root帐户的电子邮件的形式?

此类通知的示例是cron作业的输出,或 降级的RAID通知

在一个非常默认的Ubuntu 10.04安装中,除了存放在/var/mail/root之外,我找不到root用户邮件发生的任何事情。用户如何发现它2.在它到达时阅读它?

我观察到,在一个疣上,安装程序将root: myusername添加到/etc/aliases。那么那时安装系统的用户如果读了本地邮件。所以在这个过程中似乎有一个回归。这仍然不是一个完整的解决方案,因为不能指望Ubuntu用户知道他们有本地邮件,应该设置他们的邮件客户端来阅读它。

ADDED:给定当前回复,服务器用户应该能够应对,只要他知道这个问题。很公平。但请考虑J. Random Desktop User,他不知道如何使用命令行,只知道如何单击邮箱图标来阅读他的邮件。如何通知他的系统想告诉他什么? (如果这是不可避免的,允许更有能力的用户进行一次性干预。)

61
Gilles

受到 Gilles 的评论鼓励,我已经调整并扩展了另一个答案:

(我正在运行Ubuntu 12.04.1 LTS,但一般的设置过程应该适用于以前和未来的Ubuntus)


首先要安装邮件传输代理(MTA),以便邮件可以中继到邮件用户代理(MUA),例如Thunderbird。这只是必要的,因为我们正在处理本地邮件,并希望能够发送和接收它;对于普通的远程gmail类型帐户,只需要一个用户代理,例如Thunderbird

我使用postfix,它本身是sendmail的替代品,其中有商业版和开源版。有关postfix功能的更多信息,请访问 官方网站 ,如果出现任何问题,用户可能会发现 邮件列表 包含有用的信息。

所以,要安装程序,请运行

Sudo apt-get install postfix

您可以在安装时配置它,也可以拒绝提供并稍后运行

Sudo dpkg-reconfigure postfix

创建重要的配置文件(/etc/postfix/main.cfg)。如果您手动编辑此文件(不一定建议使用),则必须先运行Sudo newaliasesSudo service postfix restart以应用更改。

尽管您可能希望应用某些特定设置,但Postfix设置非常简单。在下面的第一个屏幕中,您必须为邮件选择本地选项:

enter image description here

然后在下一个屏幕上选择您的“邮件名称”;它通常与/etc/hostname相同。您可以接受以下大多数屏幕的默认值。

enter image description here

当它提到/etc/aliasesRoot和Postmaster收件人(如上所述)时,您可以填写您的用户名,但请确保通过阅读检查您的别名文件是否应该如此本教程的下一部分。

首先,正如建议 在本讨论中 ,如果设置正确,/etc/aliases应该是这样的:

postmaster:    root
root:   mike 

如果没有,请使用Sudo nano /etc/aliases编辑它,然后运行Sudo newaliasesSudo service postfix restart以便更新配置。 Postfix's别名功能允许重定向邮件,因此对于本教程的其余部分,设置非常重要

正如 上面的链接 中所述,你需要创建一个包含你的用户名和localhost的.forward文件:例如[email protected]以便将root用户的邮件转发给您。为此,请输入以下命令:

Sudo touch /root/.forward

然后跑

Sudo nano /root/.forward

放置您的用户:例如[email protected]在文件中并保存。

另外,我发现有必要将你的用户添加到邮件组,以便Thunderbird可以访问邮件文件:

Sudo adduser $USER mail

然后注销并登录以使更改生效。没有必要chownchmod任何文件,正如一些文章可能建议的那样,将用户添加到邮件组是更好的做法,并避免直接更改根文件系统的权限。


现在为Thunderbird配置。转到编辑>帐户设置>帐户操作>添加其他帐户>选择Unix spoolmail,然后在下一个屏幕中将您的用户名放在第一个框中,并将[email protected]放在第二个框中。

enter image description hereenter image description here

现在,转到帐户设置中的新帐户并选择服务器设置,然后选择本地目录为/var/mail/var/mail/username(如果设置),如下面的屏幕截图所示。

enter image description here

按照说明 在本文中 如果你想通过向[email protected]发送邮件测试帐户,然后点击Thunderbird中的获取邮件来接收它,你将需要配置smtp服务器,因为root的邮件是被重定向到[email protected]

转到帐户设置>外发服务器,然后选择添加新服务器。设置应如下面的屏幕截图所示:

enter image description here

现在,最后通过撰写邮件到[email protected]来测试您的帐户,然后几秒钟后点击您的帐户上的邮件。你应该看到这样的电子邮件:

enter image description here

需要配置一些程序或日志,以便它们将邮件发送到root,但这可以在您找到需要时决定。希望本文有用,因为设置Thunderbird以接收本地邮件并不总是直截了当的。

33
user76204

如果这是一个服务器,我强烈建议您将root别名为真实的电子邮件地址,以便将电子邮件发送给您的管理员这就像添加一样简单

# Person who should get root's mail
root:   [email protected]

到/ etc/aliases的末尾

或者,您可以将邮件配置为别名为您的本地用户名,然后当您登录时,您将收到消息“您有邮件”,您可以使用mail命令或安装pine/mutt/Alpine或类似的东西来检查服务器..

21
Richard Holloway

我个人使用名为nullmailer的邮件代理。它充当邮件代理,并将发送到root的所有邮件传输到您选择的邮件地址。

您需要在/ etc/nullmailer下的conf文件中设置其设置。基本上:给它你的邮件提供者地址和凭据,以及你想要接收根电子邮件的地址。

你可以安装它

Sudo apt-get install nullmailer

您可以在此处获取有关其设置的更多信息: http://jviz.research.iat.sfu.ca/wiki/index.php?title=HOWTO_Setup_Nullmailer

11
Little Jawa

目前没有通知用户根本地邮箱甚至存在,因为user!= root如果需要检查邮箱,可以键入以下内容:Sudo mail以在root下启动邮件应用程序。

您也可以在该服务器上以root用户身份登录。要解锁root密码,只需键入:Sudo passwd并输入root的新密码。

2
Marco Ceppi

另一种方法 - 我将所有根邮件归档到某些文件,然后删除原始邮件。

我是一个脚本(这是关键部分) -

#!/bin/bash
if `/usr/bin/mail -e`; then
   /usr/bin/mail --print 2>&1 > /tmp/email_${date +"%Y-%m-%d_%H.%M").log
   echo ‘d *’ | /usr/bin/mail -N > /dev/null
fi
exit 0

这使事情保持整洁,我可以留意它。我可以将每日邮件文件通过电子邮件发送到外部电子邮件ID等...

1
Ian D