This short tutorial shows how to configure a Ubuntu 14.04 Cloud server to forward system-generated mails sent to the root account to your email address.

Why would you want to forward mails sent to root to an email address?

Because most properly-configured Cloud servers are managed using a (normal) user account with sudo (root) privileges. So unless you switch to root while logged in as a normal user, and then type the mail command, you will not see those emails.

Here, for example, is the output of the mail command after switching to root on one of my servers:

"/var/mail/root": 18 messages 18 new
>N   1 zoo@this.li Tue Dec 31 05:36  14/695   *** SECURITY information for methisyou ***
 N   2 Cron Daemon        Sun Jan  5 06:37  22/1081  Cron  test -x /usr/sbin/anacron || ( cd / && run-parts --r
 N   3 Cron Daemon        Sun Jan 12 06:31  22/1081  Cron  test -x /usr/sbin/anacron || ( cd / && run-parts --r
 N   4 Cron Daemon        Sun Jan 19 06:34  22/1081  Cron  test -x /usr/sbin/anacron || ( cd / && run-parts --r
 N   5 Cron Daemon        Mon Jan 27 06:39  22/1081  Cron  test -x /usr/sbin/anacron || ( cd / && run-parts --r
 N   6 Cron Daemon        Sun Feb  2 06:51  22/1081  Cron  test -x /usr/sbin/anacron || ( cd / && run-parts --r
 N   7 zoo@this.li Mon Mar 10 02:46  14/650   *** SECURITY information for methisyou ***
 N   8 Cron Daemon        Sat Mar 15 06:38  22/1081  Cron  test -x /usr/sbin/anacron || ( cd / && run-parts --r
 N   9 Cron Daemon        Mon Mar 17 06:49  22/1081  Cron  test -x /usr/sbin/anacron || ( cd / && run-parts --r
 N  10 Cron Daemon        Sun Mar 23 06:37  22/1081  Cron  test -x /usr/sbin/anacron || ( cd / && run-parts --r
 N  11 Cron Daemon        Sun Mar 30 06:35  22/1081  Cron  test -x /usr/sbin/anacron || ( cd / && run-parts --r
 N  12 Cron Daemon        Sun Apr  6 06:25  22/1081  Cron  test -x /usr/sbin/anacron || ( cd / && run-parts --r
 N  13 Cron Daemon        Sun Apr 13 06:45  22/1081  Cron  test -x /usr/sbin/anacron || ( cd / && run-parts --r
 N  14 zooq@this.li Wed Jun 11 13:48  14/641   *** SECURITY information for methisyou ***
 N  15 Cron Daemon        Thu Jun 12 06:44  22/1081  Cron  test -x /usr/sbin/anacron || ( cd / && run-parts --r
 N  16 Cron Daemon        Sun Nov 16 06:47  24/991   Cron  test -x /usr/sbin/anacron || ( cd / && run-parts --r
 N  17 Cron Daemon        Sun Nov 30 06:46  22/1081  Cron  test -x /usr/sbin/anacron || ( cd / && run-parts --r
 N  18 Cron Daemon        Sun Nov 30 06:47  24/991   Cron  test -x /usr/sbin/anacron || ( cd / && run-parts --r
?

That’s a lot of unread messages. Some of those messages might contain important information about the server, some of which could be the result of cron jobs or from system alerts triggered by unauthorized user activity. For example, here’s the content of one of those emails sent to the root account after an unauthorized (and failed) user activity:

methisyou : Jun 11 13:48:29 : zoo : user NOT in sudoers ; TTY=pts/1 ; PWD=/home/zoo ; USER=root ; COMMAND=/usr/bin/apt-get update

That’s an alert you won’t see if you don’t read emails sent to root. So this tutorial will show you how to configure the server to make it easy for you to read such emails – by sending them to your email address. This tutorial assumes, of course, that you have access to and manage a Cloud server running Ubuntu 14.04.

To forward roots mail to an email address, open the /etc/aliases file with your favorite text editor. The default content should read:

# See man 5 aliases for format

postmaster:    root

Edit it so that it reads:

# See man 5 aliases for format
postmaster:    root

root:   user@methisyou.net

That will forward all system-generated emails sent to root to the specified email address. Replace user@methisyou.net with your real email address. Save and close the file, then run the newaliases command to effect the change.

That’s it. If you don’t receive the expected emails, check you Spam folder.