系统管理指南:网络服务

管理 .forward 文件

本节介绍了与 .forward 文件管理相关的若干过程。由于用户可以编辑这些文件,因此可能导致出现问题。有关更多信息,请参阅第 14 章,邮件服务(参考)中的 .forward 文件

请参阅以下过程:

Procedure如何禁用 .forward 文件

此过程用于阻止自动转发,可禁用特定主机的 .forward 文件。

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

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

  2. 复制 /etc/mail/cf/domain/solaris-generic.m4 或站点特定的域 m4 文件。


    # cd /etc/mail/cf/domain
    
    # cp solaris-generic.m4 mydomain.m4
    
    mydomain

    使用选择的文件名。

  3. 在刚创建的文件中添加以下行。


    define(`confFORWARD_PATH',`')dnl
    

    如果 m4 文件中已存在 confFORWARD_PATH 的值,请将该值替换为该空值。

  4. 生成并安装新的配置文件。

    如果需要有关此步骤的帮助信息,请参阅如何生成新的 sendmail.cf 文件


    注 –

    编辑 .mc 文件时,请记住将 DOMAIN(`solaris-generic') 更改为 DOMAIN(`mydomain')


Procedure如何更改 .forward-文件搜索路径

例如,如果要将所有 .forward 文件放置在公用目录中,请按照以下说明操作。

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

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

  2. 复制 /etc/mail/cf/domain/solaris-generic.m4 或站点特定的域 m4 文件。


    # cd /etc/mail/cf/domain
    
    # cp solaris-generic.m4 mydomain.m4
    
    mydomain

    使用选择的文件名。

  3. 在刚创建的文件中添加以下行。


    define(`confFORWARD_PATH',`$z/.forward:/var/forward/$u')dnl

    如果 m4 文件中已存在 confFORWARD_PATH 的值,请将其替换为该新值。

  4. 生成并安装新的配置文件。

    如果需要有关此步骤的帮助信息,请参阅如何生成新的 sendmail.cf 文件


    注 –

    编辑 .mc 文件时,请记住将 DOMAIN(`solaris-generic') 更改为 DOMAIN(`mydomain')


Procedure如何创建和填充 /etc/shells

此文件未包含在标准发行版中。如果要允许用户使用 .forward 文件将邮件转发到程序或文件,则必须添加该文件。您可以通过使用 grep 标识口令文件中列出的所有 shell,手动创建该文件。然后,可将这些 shell 键入到文件中。但是,使用可下载脚本的以下过程更易于使用。

  1. 下载相应脚本。

    http://www.sendmail.org/vendor/sun/gen-etc-shells.html

  2. 成为 root 或承担等效角色。

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

  3. 要生成 shell 列表,请运行 gen-etc-shells 脚本。


    # ./gen-etc-shells.sh > /tmp/shells
    

    此脚本使用 getent 命令收集 /etc/nsswitch.conf 中列出的口令文件源所包含的 shell 名称。

  4. 检查并编辑 /tmp/shells 中的 shell 列表。

    使用您选择的编辑器,删除不包含的所有 shell。

  5. 将文件移动到 /etc/shells


    # mv /tmp/shells /etc/shells