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

Gil*_*il' 63 mail cron-jobs root administration

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

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

在几乎默认的 Ubuntu 10.04 安装中,除了存放在/var/mail/root. 用户应该如何 1. 发现它和 2. 在它到达时阅读它?

我观察到,安装程序添加root: myusername/etc/aliases. 因此,当时安装系统的用户如果阅读了本地邮件。因此,似乎在此过程中的某个地方出现了倒退。这仍然不是一个完整的解决方案,因为不能期望 Ubuntu 用户知道他们有本地邮件并且应该设置他们的邮件客户端来阅读它。

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

小智 41

Gilles评论的鼓励下,我改编并扩展了另一个答案:

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


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

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

因此,要安装该程序,请运行

sudo apt-get install postfix
Run Code Online (Sandbox Code Playgroud)

您可以在安装时对其进行配置,也可以拒绝报价并稍后运行

sudo dpkg-reconfigure postfix
Run Code Online (Sandbox Code Playgroud)

创建重要的配置文件 ( /etc/postfix/main.cfg)。如果您曾经手动编辑此文件(不一定建议这样做),则必须运行sudo newaliases并在sudo service postfix restart之后应用更改。

Postfix设置起来非常简单,尽管您可能有一些想要应用的特定设置。在您看到的第一个屏幕中,您必须为您的邮件选择本地选项:

在此处输入图片说明

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

在此处输入图片说明

当提到/etc/aliases根和邮政收件人(如上),你可以在你填写用户名,但一定要检查你的别名文件是应该通过阅读本教程的下一节。

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

postmaster:    root
root:   mike 
Run Code Online (Sandbox Code Playgroud)

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

正如在上面的链接中所指出的,您需要创建一个.forward包含您的用户名和本地主机的文件:例如,mike@localhost以便将 root 的邮件转发给您。为此,请输入以下命令:

sudo touch /root/.forward
Run Code Online (Sandbox Code Playgroud)

然后运行

sudo nano /root/.forward
Run Code Online (Sandbox Code Playgroud)

放置您的用户:例如mike@localhost在文件中并保存它。

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

sudo adduser $USER mail
Run Code Online (Sandbox Code Playgroud)

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


现在进行Thunderbird配置。转到编辑 > 帐户设置 > 帐户操作 > 添加其他帐户 > 选择 Unix spoolmail,然后在下一个屏幕中将您的用户名放在第一个框中,然后放在yourusername@localhost第二个框中。

在此处输入图片说明 在此处输入图片说明

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

在此处输入图片说明

根据本文中的说明如果您想通过发送邮件来测试帐户root@localhost,然后在 Thunderbird 中单击获取邮件来接收它,您将需要配置 smtp 服务器,因为 root 的邮件被重定向到youruser@localhost.

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

在此处输入图片说明

现在,最后通过写一封邮件到您的帐户来测试您的帐户root@localhost,然后几秒钟后在您的帐户上单击“获取邮件”。您应该会看到这样的电子邮件:

在此处输入图片说明

某些程序或日志需要进行配置,以便它们将邮件发送到 root,但这可以根据您的需要来决定。这篇文章应该很有用,因为设置Thunderbird接收本地邮件并不总是那么简单。


Ric*_*way 22

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

# Person who should get root's mail
root:   all_administrators@mydomain.com
Run Code Online (Sandbox Code Playgroud)

到 /etc/aliases 的末尾

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


Lit*_*awa 11

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

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

你可以安装它

sudo apt-get install nullmailer
Run Code Online (Sandbox Code Playgroud)

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