系统管理指南:网络服务

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