系统管理指南:网络服务

管理邮件别名文件

邮件别名在域中必须唯一。本节介绍管理邮件别名文件的过程。或者,您可以使用 Solaris Management Console 的邮递列表功能,在别名数据库上执行这些任务。

另外,您还可以使用 makemap 为本地邮件主机创建数据库文件。请参阅 makemap(1M) 手册页。使用这些数据库文件不会提供使用 NIS 或 NIS+ 等名称服务的所有优点。但是,由于不涉及网络查找,因此可以更快地从这些本地数据库文件检索数据。有关更多信息,请参阅sendmail 与名称服务的交互,以及第 14 章,邮件服务(参考)中的邮件别名文件

请从以下过程中进行选择:

Procedure如何初始化 NIS+ mail_aliases

您可以使用 aliasadm 命令来管理 NIS+ 表中的项。要创建表,请按照以下说明操作。有关更多信息,请参阅 aliasadm(1M) 手册页。

  1. 成为拥有该表的 NIS+ 组的成员或邮件服务器的 root,或者承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 初始化 NIS+ 表。


    # aliasadm -I
    
  3. 将项添加到该表中。

Procedure如何列出 NIS+ mail_aliases 表中的内容。

要查看该表中的完整内容列表,请按照以下说明操作。

  1. 成为拥有该表的 NIS+ 组的成员或邮件服务器的 root,或者承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 按别名字母顺序列出所有项。


    # aliasadm -1
    

    有关更多信息,请参阅 aliasadm(1M) 手册页。


示例 13–2 列出 NIS+ mail_aliases 表中的单项

或者,可以使用 aliasadm 命令列出单项。完成此过程的第一步后,请键入以下内容:


# aliasadm -m ignatz

ignatz: ignatz@saturn # Alias for Iggy Ignatz

该命令仅会匹配完整的别名,而不会匹配部分字符串。不能将 *? 等元字符与 aliasadm -m 一起使用。



示例 13–3 列出 NIS+ mail_aliases 表中的部分匹配项

另外,还可以使用 aliasadm 命令列出部分匹配项。完成此过程的第一步后,请键入以下内容:


# aliasadm -l | grep partial_string

partial_string 替换为搜索所需的字符串。


Procedure如何通过命令行向 NIS+ mail_aliases 表添加别名

要将两个或三个别名添加到该表中,请按照以下说明操作。如果要添加两个或三个以上的别名,请参见如何通过编辑 NIS+ mail_aliases 表添加项

  1. 编辑各个邮件客户机、邮箱位置和邮件服务器系统名称的列表。

  2. 成为拥有该表的 NIS+ 组的成员或邮件服务器的 root,或者承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  3. (可选的)如有必要,请初始化 NIS+ 表。

    如果创建的是一个全新的 NIS+ mail_aliases 表,则必须首先初始化该表。要完成此任务,请参阅如何初始化 NIS+ mail_aliases

  4. 将别名添加到该表中。

    请参见以下典型项示例。


    # aliasadm -a iggy iggy.ignatz@saturn "Iggy Ignatz"
    

    以下列表说明了上面示例的输入。

    -a

    用于添加别名的选项

    iggy

    别名的缩写

    iggy.ignatz@saturn

    扩展的别名

    "Iggy Ignatz"

    使用引号的别名

  5. 显示创建的项并确保其正确。


    # aliasadm -m alias
    
    alias

    创建的项

    有关更多信息,请参阅 aliasadm(1M) 手册页。

Procedure如何通过编辑 NIS+ mail_aliases 表添加项

您可以使用 aliasadm 命令来管理 NIS+ 表中的项。要将两个或三个以上的别名添加到该表中,请按照以下说明操作。

  1. 编辑各个邮件客户机、邮箱位置和邮件服务器系统名称的列表。

  2. 成为拥有该表的 NIS+ 组的成员或邮件服务器的 root,或者承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  3. 显示并编辑该别名表。


    # aliasadm -e
    

    此命令将显示该表,并允许您对其进行编辑。所用的编辑器已使用 $EDITOR 环境变量进行了设置。如果未设置此变量,则 vi 为缺省编辑器。

  4. 使用以下格式在单独一行中键入每个别名。


    alias: expanded_alias # ["option" # "comments"]
    alias

    此列用于别名的缩写。

    expanded_alias

    此列用于扩展的别名。

    option

    此列保留供将来使用。

    comments

    此列用于有关单个别名的注释,如别名的名称。

    如果将选项列保留为空,请键入一对空引号 ("") 并添加注释。

    项的顺序对 NIS+ mail_aliases 表并不重要。aliasadm -l 命令按字母顺序对列表进行排序并显示项。

    有关更多信息,请参阅邮件别名文件aliasadm(1M) 手册页。

Procedure如何编辑 NIS+ mail_aliases 表中的项

要编辑该表中的项,请按照以下说明操作。

  1. 成为拥有该表的 NIS+ 组的成员或邮件服务器的 root,或者承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 显示别名项。


    # aliasadm -m alias
    

    alias 替换为指定的别名。

  3. 根据需要编辑别名项。


    # aliasadm -c alias expanded_alias [options comments]
    alias

    如有必要,编辑别名。

    expanded_alias

    如有必要,编辑扩展的别名。

    options

    如有必要,编辑选项。

    comments

    如有必要,编辑此项的注释。

    有关更多信息,请参阅 aliasadm(1M) 手册页以及邮件别名文件

  4. 显示编辑的项并确保其正确。


    # aliasadm -m alias
    

    有关更多信息,请参阅 aliasadm(1M) 手册页。


示例 13–4 删除 NIS+ mail_aliases 表中的项

要删除该表中的项,请在完成此过程的第一步后使用以下语法:


# aliasadm -d alias

alias 替换为要删除的项的别名。


Procedure如何设置 NIS mail.aliases 映射

使用以下过程可简化 NIS mail.aliases 映射的别名设置。

  1. 编辑各个邮件客户机、邮箱位置和邮件服务器系统名称的列表。

  2. 成为 NIS 主服务器的 root 或承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  3. 编辑 /etc/mail/aliases 文件,并创建以下项。

    1. 为每台邮件客户机添加项。


      # cat /etc/mail/aliases
      
      ..
      
      alias:expanded_alias
      
      alias

      使用缩写的别名。

      expanded_alias

      使用扩展的别名 (user@host.domain.com)。

    2. 确保具有 Postmaster: root 项。


      # cat /etc/mail/aliases
      
      ..
      
      Postmaster: root
      
    3. root 添加别名。使用指定为邮寄主管的人员的邮件地址。


      # cat /etc/mail/aliases
      
      ..
      
      root: user@host.domain.com
      
      user@host.domain.com

      使用指定的邮寄主管的指定地址。

  4. 确保 NIS 主服务器正在运行名称服务,以解析每台邮件服务器上的主机名。

  5. 转至 /var/yp 目录。


    # cd /var/yp
    
  6. 应用 make 命令。


    # make
    

    /etc/hosts/etc/mail/aliases 文件的更改将传播到 NIS 从属系统。这些更改至多仅在几分钟后便会生效。

Procedure如何设置本地邮件别名文件

使用以下过程可解析本地邮件别名文件的别名。

  1. 编辑各个用户及其邮箱位置的列表。

  2. 成为邮件服务器的 root 或承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  3. 编辑 /etc/mail/aliases 文件,并创建以下项。

    1. 为每个用户添加项。


      user1: user2@host.domain
      
      user1

      使用新别名。

      user2@host.domain

      使用新别名的实际地址。

    2. 确保具有 Postmaster: root 项。


      # cat /etc/mail/aliases
      
      ..
      
      Postmaster: root
      
    3. root 添加别名。使用指定为邮寄主管的人员的邮件地址。


      # cat /etc/mail/aliases
      
      ..
      
      root: user@host.domain.com
      
      user@host.domain.com

      使用指定的邮寄主管的指定地址。

  4. 重新生成别名数据库。


    # newaliases
    

    /etc/mail/sendmail.cfAliasFile 选项的配置可确定此命令是以二进制格式生成单个文件 /etc/mail/aliases.db,还是生成文件对 /etc/mail/aliases.dir/etc/mail/aliases.pag

  5. 执行以下步骤之一,复制生成的文件。

    1. (可选的)/etc/mail/aliases/etc/mail/aliases.dir /etc/mail/aliases.pag 文件复制到其他各个系统中。

      您可以使用 rcprdist 命令复制这三个文件。有关更多信息,请参阅 rcp(1) 手册页或 rdist(1) 手册页。或者,可以为此创建脚本。

      复制这些文件时,无需在其他各个系统上都运行 newaliases 命令。但是请记住,每次添加或删除邮件客户机时,必须更新所有 /etc/mail/aliases 文件。

    2. (可选的)/etc/mail/aliases/etc/mail/aliases.db 文件复制到其他各个系统中。

      您可以使用 rcprdist 命令复制这些文件。有关更多信息,请参阅 rcp(1) 手册页或 rdist(1) 手册页。或者,可以为此创建脚本。

      复制这些文件时,无需在其他各个系统上都运行 newaliases 命令。但是请记住,每次添加或删除邮件客户机时,必须更新所有 /etc/mail/aliases 文件。

Procedure如何创建加密映射文件

要创建加密映射文件,请按照以下说明操作。

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 创建输入文件。

    项可以使用以下语法。


    old_name@newdomain.com   new_name@newdomain.com
    
    old_name@olddomain.com    error:nouser No such user here
    
    @olddomain.com          %1@newdomain.com
    
    old_name@newdomain.com

    使用以前指定的用户名以及新指定的域。

    new_name@newdomain.com

    使用新指定的地址。

    old_name@olddomain.com

    使用以前指定的用户名及域。

    olddomain.com

    使用以前指定的域。

    newdomain.com

    使用新指定的域。

    第一项将邮件重定向到新别名。下一项在使用的别名错误时创建一条消息。最后一项将所有传入邮件从 olddomain 重定向到 newdomain

  3. 创建数据库文件。


    # /usr/sbin/makemap maptype newmap < newmap
    
    maptype

    选择数据库类型,如 dbmbtreehash

    newmap

    使用输入文件名称以及数据库文件名称的第一部分。如果选择 dbm 数据库类型,则会使用 .pag.dir 后缀创建数据库文件。对于其他两种数据库类型,文件名后跟 .db

管理 postmaster 别名

每个系统都必须能够将邮件发送到 postmaster 邮箱。您可以为 postmaster 创建 NIS 或 NIS+ 别名,也可在每个本地 /etc/mail/aliases 文件中创建该别名。请参阅以下过程。

Procedure如何在每个本地 /etc/mail/aliases 文件中创建 postmaster 别名

如果要在每个本地 /etc/mail/aliases 文件中创建 postmaster 别名,请按照以下说明操作。

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 查看 /etc/mail/aliases 项。


    # cat /etc/mail/aliases
    
    # Following alias is required by the mail protocol, RFC 2821
    
    # Set it to the address of a HUMAN who deals with this system's
    
    # mail problems.
    
    Postmaster: root
  3. 编辑每个系统的 /etc/mail/aliases 文件。

    root 更改成指定为邮寄主管的人员的邮件地址。


    Postmaster: mail_address
    
    mail_address

    使用指定为邮寄主管的人员的指定地址。

  4. (可选的)为邮寄主管创建单独的邮箱。

    可以为邮寄主管创建单独的邮箱,以便将邮寄主管邮件与个人邮件分开。如果创建单独的邮箱,请在编辑 /etc/mail/aliases 文件时使用该邮箱地址,而不要使用邮寄主管的个人邮件地址。有关详细信息,请参阅如何为 postmaster 创建单独的邮箱

Procedure如何为 postmaster 创建单独的邮箱

如果要为 postmaster 创建单独的邮箱,请按照以下说明操作。

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 为指定为 postmaster 的人员创建用户帐户。在口令字段中放置一个星号 (*)。

    有关添加用户帐户的详细信息,请参阅《系统管理指南:基本管理》中的第 5  章 “管理用户帐户和组(任务)”

  3. 完成邮件传送后,启用 mail 程序读取和写入邮箱名称。


    # mail -f postmaster
    
    postmaster

    使用指定的地址。

Procedure如何为 /etc/mail/aliases 文件中的别名添加 postmaster 邮箱

如果要为 /etc/mail/aliases 文件中的别名添加 postmaster 邮箱,请按照以下说明操作。

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. root 添加别名。使用指定为邮寄主管的人员的邮件地址。


    # cat /etc/mail/aliases
    
    ..
    
    root: user@host.domain.com
    
    user@host.domain.com

    使用指定为邮寄主管的人员的指定地址。

  3. 在邮寄主管本地系统的 /etc/mail/aliases 文件中,创建一个定义别名名称的项。以 sysadmin 为例。另外,还在其中包含指向本地邮箱的路径。


    # cat /etc/mail/aliases
    
    ..
    
    sysadmin: /usr/somewhere/somefile
    
    sysadmin

    为新别名创建名称。

    /usr/somewhere/somefile

    使用指向本地邮箱的路径。

  4. 重新生成别名数据库。


    # newaliases