Linux系统中邮件用户绰号的超能力

2009-05-24 14:01:41  来源:网页教学网 

WebjxCom友情提示: 给人取绰号,往往带有一种贬义的色彩。在Linux服务器上部署Sendmail邮件服务器后,也可以给一些用户取一些绰号。但是,这些绰号往往没有贬义的意思。这个邮件用户的绰号中可是暗藏了不少的玄机,可以帮助Linux系统管理员解决不少用户的需求。

  给人取绰号,往往带有一种贬义的色彩。在Linux服务器上部署Sendmail邮件服务器后,也可以给一些用户取一些绰号。但是,这些绰号往往没有贬义的意思。这个邮件用户的绰号中可是暗藏了不少的玄机,可以帮助Linux系统管理员解决不少用户的需求。

  如某企业采购部门员工,每周星期一要把自己负责的产品最新的报价发给销售部门的所有员工、财务人员等等。以方便他们为客户进行报价与成本统计。如果采购人员要一个个员工发送邮件的话,那显然很麻烦。其实这个就可以通过邮件用户绰号来解决。

  如某个员工可能请产假或者其他原因,有一段时间不在公司。此时企业就需要有一个代理人来处理这个员工的日常邮件。为此系统管理员就希望如果有人往这个员工的邮箱中发送邮件的话,那么会自动转发到其代理人的信箱中。同时在这个用户的邮箱中仍然会有邮件备份。那么这个员工回来后仍然可以查看这段时期发送给他的邮件。这个功能说起来比较复杂,其实也可以通过邮件用户绰号来实现。

  一、什么叫做邮件用户绰号?

  邮件用户绰号又叫做用户别名。这个别名其实来自于Linux操作系统的称呼。因为在Linux操作系统中,也可以为一些复杂的命令(几个命令集合等等)设置一个别名。下次用户需要执行这一个命令集合时,只需要输入这个别名即可。这可以简化系统管理员的输入,或者可以增强命令的记忆等等。简单的来收,邮件别名就是可以将一些难以记忆的邮件地址用用户自定义的单词来代替,以提高记忆,简化输入。

  二、邮件用户绰号的典型用途。

  那么邮件用户绰号到底有什么作用呢?笔者就把自己遇到的一些需求跟大家分析一下。大家照本宣科,就可以拿过来实用。

  1、让销售经理能够看到所有客户发给销售员的邮件。笔者以前在给一家企业部署Sendmail邮件服务器的时候,他们的销售总监就提出了一个需求。他们要求客户发给销售员的所有邮件,同时转发给销售经理与销售总监。假设销售经理的邮件地址为justin@abc.com,某个业务员的邮件地址为abey@abc.com。现在企业希望发往abey@abc.com邮箱的邮件同时发给justin@abc.com。此时该怎么处理呢?其实这个就可以通过别名来处理。如把用户abey的绰号定义为justin。那么当有邮件发送到abey邮箱中的时候,也同时会自动把邮件发送给justin。

  2、轻松实现邮件群发。如现在采购部门每周都需要发送产品的报价。每个采购员需要在星期一把最新的产品采购价格发给销售部门的所有员工、财务人员等等。以方便他们以最新的价格去给客户报价与统计产品成本。如果没有采用邮件绰号的话,那么用户必须一个个的去输入或者选择相关人员的邮件地址,然后再发送邮件。显然这手工选择邮件地址,不但容易疏漏,而且选择的效率也比较慢。那么有其他更快的方式呢?其实,可以通过邮件绰号来解决。如假设现在某个采购员需要把这份产品报价邮件发给10个员工。那么系统管理员就可以将给这个10个员工的邮件地址取同一个绰号,如price@abc.com。然后用户在发送报价信息的时候,只需要把邮件发到price@abc.com这个邮箱即可。此时邮件服务器会判断这是一个别名,然后会把邮件一一转发到这10个员工的邮箱中。这个需求很多企业都有。如笔者有个朋友,其是在一家集团公司下面的分公司作出纳。每周五她都需要把这个星期的现金收支表发送给他们分公司的财务经理、总经理、集团出纳、集团财务总监等等。那时他们的系统管理员还没有采用邮件用户绰号来管理邮件,也没有采用其他的措施,如组等等。所有每次发送邮件的话,都需要一个个的去选择邮件地址。笔者跟他们的系统管理员也有几面之缘。在一次偶然的机会向他建议可以通过邮件用户绰号来实现邮件的群发。他听了之后很受启发。回去之后就落实了这个内容。由此还受到了公司的嘉奖与员工的好评。可见利用邮件用户绰号来实现邮件的群发,是一项很实用的功能。

  3、利用邮件绰号实现个别用户邮件的转发。如现在企业有一个员工请了三个月的产假。在这三个月假期中,企业让另外一个员工来全权处理其相关业务。为此需要把这个员工的邮件转发给另外一个员工,让其可以处理相关的业务,避免给企业带来不必要的损失。此时该怎么处理呢?其实在Sendmail邮件服务器中这个很容易实现。假设请产假的员工邮件地址为justin@abc.com;而其代理的邮件地址为abey@abc.com。现在系统管理员只需要把justin的邮件全部转发到abey地址中。此时只需要给邮件地址justin取一个abey绰号即可。

  不过有时候这个需求会比较复杂一点。如上所举的例子中,是采用了同一个邮箱服务器(其后缀名相同)。但是有时候其需要转发的可能邮件服务器是不同的。如某个员工从某个分公司转到另外一个分公司的时候,可能还需要其处理一些原有的业务。为此其在一段时间内仍然需要查看相关的邮件。由于此时邮箱服务器不同,为此就不能够简单的使用上面的绰号来解决问题。此时就需要用到Linux操作系统中的管道符来实现这个需求。如可以利用justin :“| sendmail abbey@bcd.com”。在上面这个命令中,|符号是LInux操作系统的管道符。他的作用就是将其他应用程序输出的结果转换到另外一个应用程序中去作为其输入的数据。以上就是把带有管道符的命令当作邮件的绰号来处理,算得上是邮件绰号一个比较高级的应用了。如果要通过邮件用户别名将邮件转发到不同的邮件服务器中,就必须在别名定义时采用linux操作系统的管道运算符才能够奏效。

  4、利用邮件用户别名来限制某些用户拒绝接受邮件。如笔者往往会在Linux邮件服务器上定义如下这别名 root: /dev/null。这个有什么作用呢?首先我们都知道,root用户是Linux操作系统中的特权用户,其具有很高的权限。如通常情况下,其没有硬盘空间的限制。如果有攻击者给这个root用户发垃圾邮件的话,那么其会一直接收下去,直到占满全部硬盘空间位置。从而会给其他用户接收邮件或者邮箱服务器的正常运行造成障碍。所以在部署Linux服务器的时候,往往需要对这个特权用户给与特殊的照顾,如拒绝其接收任何邮件等等。而/dev/null大概大家更是熟悉了。这个命令就是表示忽略任何的输入。那么如果把root帐户的别名定义为/dev/null会有什么效果呢?此时,发送给root用户的任何邮件都会被邮件服务器所忽视掉。也就是说,root帐户将不能够接收任何邮件。笔者最后再强调一遍,把一些Linux操作系统中的特殊帐号,如root帐户,设置为其不能够接收任何邮件,这对于保护邮箱服务器的安全是非常有帮助的。其可以防止一些特权用户因为没有硬盘容量限制,而导致垃圾邮件占用了大量的硬盘空间,从而给其他用户造成使用上的故障。

  三、邮件绰号(别名)的定义与生效。

  那么邮件帐号的别名该如何定义呢?其实很简单。如在RedHat 9Linux操作系统下部署Sendmail邮箱服务器的话,则在/etc目录下会找到aliases文件。这个文件就是用来定义别名的。其定义的规则是 “别名:真是帐号”。注意这里都是别名在前,真实帐号在后。

  在定义邮件帐户别名的时候,需要注意两个地方。一是通常情况下,只能够为同一个邮箱服务器中的账号设置别名。如果为不同服务器之间的账号设置别名的话,就需要借助Linux操作系统中管道符的作用。这可以参考笔者上面谈到的第三个例子。二是在这个/etc/aliases文件中定义了别名之后,并不是马上生效的。系统管理员需要重新启动服务器后才会生效。如果不想重新启动服务的话,那么就需要在系统终端下输入newaliases指令。这个指令就是告诉Sendmail服务器去重新读取/etc/aliases文件中的别名信息。另外为了保障这个文件的安全性,最好在修改之前对其进行备份。那么即使因为意外的损坏也能够修复。

更多