系统管理指南:高级管理

第 3 章 使用服务访问工具管理串行端口(任务)

本章描述如何使用服务访问工具 (Service Access Facility, SAF) 管理串行端口服务。

此外,本章还包括有关如何使用服务管理工具 (Service Management Facility, SMF) 执行控制台管理的信息。


注 –

SAF 和 SMF 是 Oracle Solaris OS 中的两种不同工具。从 Oracle Solaris 10 开始,系统控制台上的 ttymon 调用由 SMF 进行管理。SAF 工具仍用于管理终端、调制解调器和其他网络设备。


以下是本章中概述信息的列表。

有关与管理串行端口关联的逐步过程的信息,请参见以下内容:

有关 SAF 的参考信息,请参见服务访问工具管理(参考)

管理串行端口(任务图)

任务 

说明 

参考 

执行控制台管理。 

您可能需要执行以下控制台管理任务:  

  • 设置 ttymon 控制台终端类型。

    从 Oracle Solaris 10 开始,您必须使用 svccfg 命令指定 ttymon 控制台终端类型。

  • 设置 ttymon 控制台终端波特率速度。

 

如何设置 ttymon 控制台终端类型

 

如何在 ttymon 控制台终端上设置波特率速度

添加 ttymon 端口监视器。

使用 sacadm 命令添加 ttymon 端口监视器。

如何添加 ttymon 端口监视器

查看 ttymon 端口监视器状态。

使用 sacadm 命令查看 ttymon 端口监视器状态。

如何查看 ttymon 端口监视器状态

停止 ttymon 端口监视器。

使用 sacadm 命令停止 ttymon 端口监视器。

如何停止 ttymon 端口监视器

启动 ttymon 端口监视器。

使用 sacadm 命令启动 ttymon 端口监视器。

如何启动 ttymon 端口监视器

禁用 ttymon 端口监视器。

使用 sacadm 命令禁用 ttymon 端口监视器。

如何禁用 ttymon 端口监视器

启用 ttymon 端口监视器。

使用 sacadm 命令启用 ttymon 端口监视器。

如何启用 ttymon 端口监视器

删除 ttymon 端口监视器。

使用 sacadm 命令删除 ttymon 端口监视器。

如何删除 ttymon 端口监视器

使用服务访问工具

您可以使用 Solaris Management Console 的串行端口工具或 SAF 命令设置终端和调制解调器。

SAF 是一种用于管理终端、调制解调器和其他网络设备的工具。顶层 SAF 程序是服务访问控制器 (Service Access Controller, SAC)。SAC 通过 sacadm 命令控制您管理的端口监视器。每个端口监视器可以管理一个或多个端口。

可以通过 pmadm 命令管理与端口关联的服务。尽管通过 SAC 提供的服务可能随网络的不同而不同,但是 SAC 及其管理命令 sacadm pmadm 与网络无关。

下表介绍了 SAF 控制分层结构。sacadm 命令用于管理 SAC(它控制 ttymonlisten 端口监视器)。

ttymonlisten 的服务又是由 pmadm 命令控制的。一个 ttymon 实例可以为多个端口提供服务。一个 listen 实例可以在一个网络接口上提供多个服务。

表 3–1 SAF 控制分层结构

功能 

程序 

说明 

整体管理 

sacadm

用于添加和删除端口监视器的命令 

服务访问控制器 

sac

SAF 的主程序 

端口监视器 

ttymon

listen

监视串行端口登录请求 

监视网络服务请求 

端口监视器服务管理员 

pmadm

用于控制端口监视器服务的命令 

服务 

登录、远程过程调用 

SAF 提供对其访问的服务 

控制台管理 

控制台登录 

控制台服务由 SMF 服务 svc:/system/console-login:default 进行管理。此服务调用 ttymon 端口监视器。不要使用 pmadmsacadm 命令管理控制台。有关更多信息,请参见ttymon 和控制台端口如何设置 ttymon 控制台终端类型如何在 ttymon 控制台终端上设置波特率速度

整体 SAF 管理 (sacadm)

sacadm 命令是 SAF 的顶层。sacadm 命令主要用于添加和删除端口监视器,如 ttymonlistensacadm 的其他功能包括列出端口监视器的当前状态和管理端口监视器配置脚本。

服务访问控制器(SAC 程序)

服务访问控制器 (Service Access Controller, SAC) 程序可监视所有端口监视器。在进入多用户模式时,系统自动启动 SAC。

SAC 程序在被调用时首先查找并解释每个系统的配置脚本。您可以使用配置脚本定制 SAC 程序环境。缺省情况下,此脚本为空。对 SAC 环境进行的修改由 SAC 的所有“子进程”继承。此继承的环境可能会被子进程修改。

SAC 程序在解释了每系统配置脚本后,将读取其管理文件并启动指定的端口监视器。对于每个端口监视器,SAC 程序运行它自己的副本,从而派生一个子进程。然后,每个子进程解释它的每端口监视器配置脚本(如果存在这样的脚本)。

对在每端口监视器配置脚本中指定的环境进行的任何修改都会影响端口监视器,并将由其所有子进程继承。最后,子进程通过使用在 SAC 程序管理文件中找到的命令运行端口监视器程序。

SAC 初始化进程

以下步骤概括说明了首次启动 SAC 时发生的情况:

  1. SAC 程序由 SMF 服务 svc:/system/sac:default 启动。

  2. SAC 程序读取每系统配置脚本 /etc/saf/_sysconfig

  3. SAC 程序读取 SAC 管理文件 /etc/saf/_sactab

  4. SAC 程序为它启动的每个端口监视器派生一个子进程。

  5. 每个端口监视器读取每端口监视器配置脚本 /etc/saf/pmtag/_config

端口监视器服务管理 (pmadm)

通过 pmadm 命令可以管理端口监视器的服务。特别是,使用 pmadm 命令可以添加或删除服务以及启用或禁用服务。您还可以安装或替换每服务配置脚本,或列显有关服务的信息。

服务的每个实例必须由端口监视器和端口唯一标识。使用 pmadm 命令管理服务时,可以用 pmtag 参数指定特定的端口监视器,用 svctag 参数指定特定的端口。

对于每种端口监视器类型,SAF 需要一个专用命令来设置端口监视器特定的配置数据的格式。此数据由 pmadm 命令使用。对于 ttymonlisten 类型的端口监视器,这些专用命令分别是 ttyadm nlsadmin

ttymon 端口监视器

只要您尝试通过使用直接连接的调制解调器或字母数字终端进行登录,ttymon 便会开始执行。首先,SMF 启动 SAC 进程。然后 SAC 自动启动在其管理文件 /etc/saf/_sactab 中指定的端口监视器。启动 ttymon 端口监视器后,该端口监视器对服务请求的串行端口线路进行监视。

当有人尝试通过使用字母数字终端或调制解调器进行登录时,串行端口驱动程序会将该活动传递给操作系统。ttymon 端口监视器记录串行端口活动,并尝试建立通信链路。ttymon 端口监视器确定与设备进行通信所需的数据传输率、线路规程和握手协议。

确定用于与调制解调器或终端通信的适当参数后,ttymon 端口监视器将这些参数传递给登录程序并将控制权转移给它。

端口初始化进程

当 SAC 调用 ttymon 端口监视器的实例时,ttymon 开始监视其端口。对于每个端口,ttymon 端口监视器首先初始化线路规程(如果指定)、速度和终端设置。用于初始化的值是从 /etc/ttydefs 文件中的相应项提取的。

然后 ttymon 端口监视器写入提示符,并等待用户输入。如果用户通过按 Break 键指示速度不合适,则 ttymon 端口监视器将尝试下一个速度,并再次写入提示符。

如果为端口启用了 autobaud,则 ttymon 端口监视器将尝试自动确定端口上的波特率。用户必须按回车键,ttymon 端口监视器才能识别波特率并列显提示符。

在收到有效输入时,ttymon 端口监视器会执行以下任务:

服务终止后,ttymon 端口监视器将清除 /etc/utmpx 项(如果该项存在),并将端口恢复到其初始状态。

双向服务

如果将端口配置为用于双向服务,则 ttymon 端口监视器会执行以下操作:

TTY 监视器和网络侦听器端口监视器

虽然 SAF 提供了用于管理任何将来或第三方端口监视器的通用方法,但是在 Oracle Solaris 发行版中仅实现了两个端口监视器:ttymonlisten

TTY 端口监视器 (ttymon)

ttymon 端口监视器基于 STREAMS,可执行以下操作:

ttymon 端口监视器为用户提供的服务与 getty 端口监视器在 SunOS 4.1 软件的早期版本中提供的服务相同。

ttymon 端口监视器在 SAC 程序下运行,并且是使用 sacadm 命令配置的。ttymon 的每个实例可以监视多个端口。这些端口在端口监视器的管理文件中指定。管理文件是通过使用 pmadmttyadm 命令配置的。

ttymon 和控制台端口

控制台服务既不由服务访问控制器 (Service Access Controller, SAC) 管理,也不由任何显式的 ttymon 管理文件管理。ttymon 调用由 SMF 管理。因此,无法再通过向 /etc/inittab 文件中添加项来调用 ttymon。类型为 application、名称为 ttymon 的属性组已添加到 SMF 服务 svc:/system/console-login:default 中。此属性组内的属性由方法脚本 /lib/svc/method/console-login 使用。此脚本将属性值用作 ttymon 调用的参数。通常,如果这些值为空,或者如果没有为任一属性定义值,则不会将值用于 ttymon。但是,如果 ttymon 设备值为空或者未设置,则 /dev/console 将用作缺省值以便 ttymon 可以运行。

以下属性在 SMF 服务 svc:/system/console-login:default 下可用:

ttymon/nohangup

指定 nohangup 属性。如果设置为 true,则在设置缺省或指定的速度之前,不要通过将线路速度设置为零来强制线路挂起。

ttymon/prompt

指定控制台端口的提示字符串。

ttymon/terminal_type

指定控制台的缺省终端类型。

ttymon/device

指定控制台设备。

ttymon/label

指定 /etc/ttydefs 线路中的 TTY 标签。

特定于ttymon 的管理命令 (ttyadm)

ttymon 管理文件由 sacadmpmadm 命令以及 ttyadm 命令更新。ttyadm 命令设置特定于 ttymon 的信息的格式并将其写入标准输出,从而提供一种向 sacadmpmadm 命令呈现已设置格式的、特定于 ttymon 的数据的方法。

因此,ttyadm 命令不会直接管理 ttymonttyadm 命令是对通用管理命令 sacadmpmadm 的补充。有关更多信息,请参见 ttyadm(1M) 手册页。

网络侦听器服务 (listen)

listen 端口监视器在 SAC 下运行,可执行以下操作:

listen 端口监视器是通过使用 sacadm 命令配置的。listen 的每个实例可以提供多个服务。这些服务在端口监视器的管理文件中指定。此管理文件是通过使用 pmadm nlsadmin 命令配置的。

网络侦听器进程可以用于符合传输层接口 (Transport Layer Interface, TLI) 规范的任何面向连接的传输提供者。在 Oracle Solaris OS 中,listen 端口监视器可以提供 inetd 服务未提供的其他网络服务。

特殊 listen 专用管理命令 (nlsadmin)

listen 端口监视器的管理文件由 sacadmpmadm 命令以及 nlsadmin 命令更新。nlsadmin 命令设置特定于 listen 的信息的格式并将其写入标准输出,从而提供一种向 sacadmpmadm 命令呈现已设置格式的、特定于 listen 的数据的方法。

因此,nlsadmin 命令不会直接管理 listen。该命令是对通用管理命令 sacadmpmadm 的补充。

单独配置的每个网络可以具有至少一个与之关联的网络侦听器进程实例。nlsadmin 命令控制 listen 端口监视器的操作状态。

nlsadmin 命令可以为给定的网络建立 listen 端口监视器,配置该端口监视器的特定属性以及对监视器执行 startkill 操作。nlsadmin 命令还可以对计算机上的 listen 端口监视器进行报告。

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

管理 ttymon 端口监视器

ttymon 的控制台管理现在由 SMF 管理。可使用 svccfg 命令设置 ttymon 系统控制台属性。仍可使用 SAF 命令 sacadm 添加、列出、中止、启动、启用、禁用和删除 ttymon 端口监视器。

Procedure如何设置 ttymon 控制台终端类型

此过程说明如何使用 svccfg 命令更改控制台终端类型。

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 运行 svccfg 命令以设置要更改的服务实例的属性。


    # svccfg -s console-login setprop ttymon/terminal_type = "xterm"
    

    其中,"xterm" 是可能要使用的终端类型。

  3. (可选)重新启动服务实例。


    # svcadm restart svc:/system/console-login:default
    

    注意 – 注意 –

    如果您选择立即重新启动服务实例,则将从控制台注销。如果您不立即重新启动服务实例,则下次在控制台上显示登录提示时将应用属性更改。


Procedure如何在 ttymon 控制台终端上设置波特率速度

此过程说明如何在 ttymon 控制台终端上设置波特率速度。基于 x86 的系统上支持的控制台速度取决于特定的平台。

在基于 SPARC 的系统上支持以下控制台速度:

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 使用 eeprom 命令设置适合您的系统类型的波特率速度。


    # eeprom ttya-mode=baud-rate,8,n,1,-
    

    例如,要将基于 x86 的系统控制台上的波特率更改为 38400,请键入:


    # eeprom ttya-mode=38400,8,n,1,-
    
  3. 按如下所示在 /etc/ttydefs 文件中更改控制台线路:


    console baud-rate hupcl opost onlcr:baud-rate::console
  4. 进一步对您的系统类型进行以下更改。

    请注意,这些更改与平台相关。

    • 在基于 SPARC 的系统上:/kernel/drv/options.conf 文件中更改波特率速度。

      使用以下命令将波特率更改为 9600


      # 9600             :bd:
      ttymodes="2502:1805:bd:8a3b:3:1c:7f:15:4:0:0:0:11:13:1a:19:12:f:17:16";
      

      使用以下命令将波特率速度更改为 19200


      # 19200            :be:
      ttymodes="2502:1805:be:8a3b:3:1c:7f:15:4:0:0:0:11:13:1a:19:12:f:17:16";
      

      使用以下命令将波特率速度更改为 38400


      # 38400            :bf:
      ttymodes="2502:1805:bf:8a3b:3:1c:7f:15:4:0:0:0:11:13:1a:19:12:f:17:16";
      
    • 在基于 x86 的系统上: 如果启用了 BIOS 串行重定向,请更改控制台速度。用来更改控制台速度的方法与平台有关。

Procedure如何添加 ttymon 端口监视器

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 添加 ttymon 端口监视器。


    # sacadm -a -p mbmon -t ttymon -c /usr/lib/saf/ttymon -v `ttyadm
    -V` -y "TTY Ports a & b"
    
    -a

    指定添加端口监视器的选项。

    -p

    pmtag mbmon 指定为端口监视器标记。

    -t

    将端口监视器 type 指定为 ttymon

    -c

    定义用于启动端口监视器的 command 字符串。

    -v

    指定端口监视器的 version 号。

    -y

    定义描述此端口监视器实例的注释。

Procedure如何查看 ttymon 端口监视器状态

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 查看 ttymon 端口监视器的状态。


    # sacadm -l -p mbmon
    
    -l

    指定 list 端口监视器的状态标志。

    -p

    pmtag mbmon 指定为端口监视器标记。


示例 3–1 查看 ttymon 端口监视器状态

此示例说明如何查看名为 mbmon 的端口监视器。


# sacadm -l -p mbmon
PMTAG  PMTYPE  FLGS RCNT STATUS    COMMAND
mbmon  ttymon  -    0    STARTING  /usr/lib/saf/ttymon #TTY Ports a & b
PMTAG

标识端口监视器名称 mbmon

PMTYPE

标识端口监视器类型 ttymon

FLGS

指示是否设置了以下标志:

d

不启用新的端口监视器。

x

不启动新的端口监视器。

破折号 (-)

未设置任何标志。

RCNT

指示返回计数值。返回计数为 0 指示如果端口监视器出现故障则不重新启动。

STATUS

指示端口监视器的当前状态。

COMMAND

标识用于启动端口监视器的命令。

#TTY Ports a & b

标识用于描述端口监视器的任何注释。


Procedure如何停止 ttymon 端口监视器

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 停止 ttymon 端口监视器。


    # sacadm -k -p mbmon
    
    -k

    指定 kill 端口监视器的状态标志。

    -p

    pmtag mbmon 指定为端口监视器标记。

Procedure如何启动 ttymon 端口监视器

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 启动已中止的 ttymon 端口监视器。


    # sacadm -s -p mbmon
    
    -s

    指定 start 端口监视器的状态标志。

    -p

    pmtag mbmon 指定为端口监视器标记。

Procedure如何禁用 ttymon 端口监视器

禁用端口监视器可防止新服务启动,且不影响现有的服务。

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 禁用 ttymon 端口监视器。


    # sacadm -d -p mbmon
    
    -d

    指定 disable 端口监视器的状态标志。

    -p

    pmtag mbmon 指定为端口监视器标记。

Procedure如何启用 ttymon 端口监视器

通过启用 ttymon 端口监视器,可以使其为新请求提供服务。

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 启用 ttymon 端口监视器。


    # sacadm -e -p mbmon
    
    -e

    指定 enable 端口监视器的状态标志。

    -p

    pmtag mbmon 指定为端口监视器标记。

Procedure如何删除 ttymon 端口监视器

删除端口监视器将删除与之关联的所有配置文件。


注 –

端口监视器配置文件不能通过使用 sacadm 命令进行更新或更改。要重新配置端口监视器,请先将其删除,然后添加一个新端口监视器。


  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 删除 ttymon 端口监视器。


    # sacadm -r -p mbmon
    
    -r

    指定 remove 端口监视器的状态标志。

    -p

    pmtag mbmon 指定为端口监视器标记。

管理 ttymon 服务(任务图)

任务 

说明 

参考 

添加 ttymon 服务。

使用 pmadm 命令添加服务。

如何添加服务

查看 TTY 端口服务的状态。 

使用 pmadm 命令查看 TTY 端口的状态。

如何查看 TTY 端口服务的状态

启用端口监视器服务。 

使用带有 -e 选项的 pmadm 命令启用端口监视器。

如何启用端口监视器服务

禁用端口监视器服务。 

使用带有 -d 选项的 pmadm 命令禁用端口监视器。

如何禁用端口监视器服务

管理 ttymon 服务

使用 pmadm 命令可以添加服务、列出与端口监视器关联的一个或多个端口的服务以及启用或禁用服务。

Procedure如何添加服务

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 将标准终端服务添加到 mbmon 端口监视器。


    # pmadm -a -p mbmon -s a -i root -v `ttyadm -V` -m "`ttyadm -i 'Terminal
     disabled' -l contty -m ldterm,ttcompat -S y -d /dev/term/a 
    -s /usr/bin/login`"
    

    注 –

    在此示例中,输入内容自动换到下一行。请勿使用回车键或换行。


    -a

    指定 add 端口监视器状态标志。

    -p

    pmtag mbmon 指定为端口监视器标记。

    -s

    svctag a 指定为端口监视器 service 标记。

    -i

    指定在服务运行时要指定给 svctagidentity

    -v

    指定端口监视器的 version 号。

    -m

    指定由 ttyadm 设置其格式的特定于 ttymon 的配置数据。

    前面的 pmadm 命令包含嵌入的 ttyadm 命令。此嵌入命令中的选项如下所示:

    -b

    指定 bidirectional 端口标志。

    -i

    指定 inactive(禁用)响应消息。

    -l

    指定要使用 /etc/ttydefs 文件中的哪个 TTY label

    -m

    指定在调用此服务之前要推送的 STREAMS modules

    -d

    指定要用于 TTY 端口的 device 的全路径名。

    -s

    指定收到连接请求时要调用的 service 的全路径名。如果需要参数,请将命令及其参数用引号 (") 括起来。

Procedure如何查看 TTY 端口服务的状态

使用此过程中所示的 pmadm 命令可以列出某个 TTY 端口的状态,或与端口监视器关联的所有端口的状态。

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 列出端口监视器的一项服务。


    # pmadm -l -p mbmon -s a
    
    -l

    列出有关系统的服务信息。

    -p

    pmtag mbmon 指定为端口监视器标记。

    -s

    svctag a 指定为端口监视器 service 标记。


示例 3–2 查看 TTY 端口监视器服务的状态

此示例列出了端口监视器的所有服务。


# pmadm -l -p mbmon
PMTAG  PMTYPE  SVCTAG FLAGS ID    <PMSPECIFIC> 
mbmon  ttymon  a      -     root  /dev/term/a - - /usr/bin/login - contty
ldterm,ttcompat login:  Terminal disabled tvi925 y  #
PMTAG

标识通过使用 pmadm -p 命令设置的端口监视器名称 mbmon

PMTYPE

标识端口监视器类型 ttymon

SVCTAG

指示通过使用 pmadm -s 命令设置的服务标记值。

FLAGS

标识是否通过使用 pmadm -f 命令设置了以下标志。

  • x-不启用服务。

  • u-为服务创建 utmpx 项。

  • 短划线 (-)-未设置任何标志。

ID

指示启动服务时为其指定的标识。该值是通过使用 pmadm -i 命令设置的。

<PMSPECIFIC>

信息

/dev/term/a

指示通过使用 ttyadm -d 命令设置的 TTY 端口路径名。

-

指示是否通过使用 ttyadm -c -b -h -I -r 命令设置了以下标志。

  • c-为端口设置“在载体上连接”标志。

  • b-将端口设置为双向,从而允许传入和传出通信。

  • h-禁止在收到外来调用之后立即自动挂起。

  • I-初始化端口。

  • r-强制 ttymon 在列显 login: 消息之前一直等待,直到它收到来自端口的字符。

  • 短划线 (-)-未设置任何标志。

-

指示通过使用 ttyadm -r count 选项设置的值。此选项确定在收到来自端口的数据之后 ttymon 何时显示提示符。如果 count 为 0,则 ttymon 将一直等待,直到它收到某个字符。如果 count 大于 0,则 ttymon 将一直等待,直到收到 count 个换行符。在此示例中未设置值。

/usr/bin/login

标识在收到连接时要调用的服务的全路径名。该值是通过使用 ttyadm -s 命令设置的。

-

标识 ttyadm -t 命令的超时值。此选项指定:如果端口成功打开,且在 timeout 秒内未收到输入数据,则 ttymon 应该关闭该端口。在此示例中没有超时值。

contty

标识 /etc/ttydefs 文件中的 TTY 标签。该值是通过使用 ttyadm -l 命令设置的。

ldterm,ttcompat

标识要推送的 STREAMS 模块。这些模块是通过使用 ttyadmin -m 命令设置的。

login: Terminal disabled

标识在禁用端口时要显示的无效消息。此消息是通过使用 ttyadm -i 命令设置的。

tvi925

标识终端类型(如果使用 ttyadm -T 命令进行了设置)。在此示例中,终端类型为 tvi925

y

标识通过使用 ttyadm -S 命令设置的软件载体值。n 关闭软件载体。y 打开软件载体。在此示例中打开了软件载体。

#

标识使用 pmadm -y 命令指定的任何注释。在此示例中没有注释。


Procedure如何启用端口监视器服务

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 启用已禁用的端口监视器服务。


    # pmadm -e -p mbmon -s a
    
    -e

    指定 enable 标志。

    -p

    pmtag mbmon 指定为端口监视器标记。

    -s

    svctag a 指定为端口监视器 service 标记。

Procedure如何禁用端口监视器服务

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 禁用端口监视器服务。


    # pmadm -d -p mbmon -s a
    
    -d

    指定 disable 标志。

    -p

    pmtag mbmon 指定为端口监视器标记。

    -s

    svctag a 指定为端口监视器 service 标记。

服务访问工具管理(参考)

本节包括服务访问工具管理的参考信息。

与 SAF 相关联的文件

SAF 使用可通过 sacadmpmadm 命令修改的配置文件。您无需手动编辑配置文件。

文件名 

说明 

/etc/saf/_sysconfig

每系统配置脚本 

/etc/saf/_sactab

SAC 的管理文件,该文件包含 SAC 控制的端口监视器的配置数据。 

/etc/saf/pmtag

端口监视器 pmtag 的起始目录

/etc/saf/pmtag/_config

端口监视器 pmtag 的每端口监视器配置脚本(如果存在)

/etc/saf/pmtag/ _pmtab

端口监视器 pmtag 的管理文件,该文件包含 pmtag 所提供服务的特定于端口监视器的配置数据

/etc/saf/pmtag/ svctag

服务 svctag 的每服务配置脚本

/var/saf/log

SAC 的日志文件 

/var/saf/pmtag

pmtag 创建的文件(例如日志文件)的目录

/etc/saf/_sactab 文件

/etc/saf/_sactab 文件中的信息如下所示:


# VERSION=1
zsmon:ttymon::0:/usr/lib/saf/ttymon
#
# VERSION=1

指示服务访问工具的版本号。

zsmon

端口监视器的名称。

ttymon

端口监视器的类型。

::

指示是否设置了以下两个标志:

d

不启用端口监视器。

x

不启动端口监视器。在此示例中未设置标志。

0

指示返回代码值。返回计数为 0 指示如果端口监视器出现故障则不重新启动。

/usr/lib/saf/ttymon

指示端口监视器路径名。

/etc/saf/pmtab/_pmtab 文件

/etc/saf/pmtab/_pmtab 文件(如 /etc/saf/zsmon/_pmtab)与如下所示内容类似:


# VERSION=1
ttya:u:root:reserved:reserved:reserved:/dev/term/a:I::/usr/bin/login::9600:
ldterm,ttcompat:ttya login\: ::tvi925:y:# 
# VERSION=1

指示服务访问工具的版本号。

ttya

指示服务标记。

x,u

标识是否设置了以下标志:

x

不启用服务。

u

为服务创建 utmpx 项。

root

指示为服务标记指定的标识。

reserved

保留此字段供将来使用。

reserved

保留此字段供将来使用。

reserved

保留此字段供将来使用。

/dev/term/a

指示 TTY 端口路径名。

/usr/bin/login

标识在收到连接时要调用的服务的全路径名。

:c,b,h,I,r:

指示是否设置了以下标志:

c

为端口设置“在载体上连接”标志。

b

将端口设置为双向,从而允许传入和传出通信。

h

禁止在收到外来调用之后立即自动挂起。

I

初始化端口。

r

强制 ttymonttymon 列显 login: 消息之前一直等待,直到它收到来自端口的字符。

9600

标识在 /etc/ttydefs 文件中定义的 TTY 标签。

ldterm,ttcompat

标识要推送的 STREAMS 模块。

ttya login\:

标识要显示的提示符。

:y/n:

指示响应或不响应。

message

标识任何无效(禁用)的响应消息。

tvi925

标识终端类型。

y

指示是否设置了软件载体 (y/n)。

服务状态

sacadm 命令可控制服务的状态。以下列表介绍了服务的可能状态。

Enabled

缺省状态。在添加端口监视器时,服务将运行。

Disabled

缺省状态。在删除端口监视器时,服务将停止。

要确定任何特定服务的状态,请使用以下命令:


# pmadm -l -p portmon-name -ssvctag

端口监视器状态

sacadm 命令可控制 ttymonlisten 端口监视器的状态。下表介绍了可能的端口监视器状态。

状态 

说明 

Started

缺省状态-在添加端口监视器时,它将自动启动。

Enabled

缺省状态-在添加端口监视器时,它将自动准备接受服务请求。

Stopped

缺省状态-在删除端口监视器时,它将自动停止。

Disabled

缺省状态-在删除端口监视器时,它将自动继续使用现有服务并拒绝添加新服务。

Starting

中间状态-端口监视器处于启动过程中。

Stopping

中间状态-端口监视器已手动终止,但是它尚未完成其关闭过程。端口监视器正在停止。

Notrunning

非活动状态-端口监视器已中止。以前监视的所有端口都是无法访问的。外部用户无法断定端口处于 disabled 还是 notrunning 状态。

Failed

非活动状态-端口监视器无法启动和保持运行。

要确定任何特定端口监视器的状态,请使用以下命令:


# sacadm -l -p portmon-name

端口状态

根据控制端口的端口监视器的状态,可以启用或禁用端口。

状态 

说明 

串行 (ttymon) 端口状态

Enabled

ttymon 端口监视器向端口发送提示消息,并为其提供登录服务。

Disabled

如果 ttymon 已中止或禁用,则为所有端口的缺省状态。如果指定此状态,则 ttymon 在收到连接请求时将发出 disabled 消息。