JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 管理:基本管理     Oracle Solaris 10 1/13 Information Library (简体中文)
search filter icon
search icon

文档信息

关于本书

1.  Oracle Solaris 管理工具(任务列表)

2.  使用 Solaris Management Console(任务)

3.  使用 Oracle Java Web Console(任务)

4.  管理用户帐户和组(概述)

5.  管理用户帐户和组(任务)

6.  管理客户机/服务器支持(概述)

7.  管理无盘客户机(任务)

8.  关闭和引导系统简介

9.  关闭和引导系统(概述)

10.  关闭系统(任务)

11.  修改 Oracle Solaris 引导行为(任务)

12.  引导 Oracle Solaris 系统(任务)

13.  管理 Oracle Solaris 引导归档文件(任务)

14.  Oracle Solaris 系统引导的故障排除(任务)

15.  x86: 基于 GRUB 的引导(参考)

16.  x86: 引导未实现 GRUB 的系统(任务)

17.  使用 Oracle Configuration Manager

18.  管理服务(概述)

19.  管理服务(任务)

管理服务(任务列表)

监视 SMF 服务

如何列出服务的状态

如何显示依赖某个服务实例的服务

如何显示某个服务所依赖的服务

管理 SMF 服务(任务列表)

管理 SMF 服务

对于 SMF 使用 RBAC 权限配置文件

如何禁用服务实例

如何启用服务实例

如何重新启动服务

如何恢复处于维护状态的服务

如何恢复到另一个 SMF 快照

如何创建 SMF 配置文件

如何应用 SMF 配置文件

使用 generic*.xml 更改向网络提供的服务

配置 SMF 服务

如何修改服务

如何更改服务的环境变量

如何更改由 inetd 控制的服务的属性

如何修改由 inetd 控制的服务的命令行参数

如何转换 inetd.conf

使用运行控制脚本(任务列表)

使用运行控制脚本

如何使用运行控制脚本来停止或启动传统服务

如何添加运行控制脚本

如何禁用运行控制脚本

对服务管理工具进行故障排除

调试未启动的服务

如何修复已损坏的系统信息库

如何在不启动任何服务的情况下引导

系统引导期间当 system/filesystem/local:default 服务失败时,如何强制出现 sulogin 提示符

20.  管理软件(概述)

21.  使用 Oracle Solaris 系统管理工具管理软件(任务)

22.  使用 Oracle Solaris 软件包命令管理软件(任务)

23.  管理修补程序

A.  SMF 服务

索引

管理 SMF 服务

本节包括有关管理 SMF 服务的信息。

对于 SMF 使用 RBAC 权限配置文件

可以使用 RBAC 权限配置文件来允许用户管理某些 SMF 服务,而不必授予用户 root 访问权限。权限配置文件定义用户可以运行哪些命令。已经为 SMF 创建了下列配置文件:

有关授权的具体信息,请参见 smf_security(5) 手册页。有关指定权限配置文件的说明,请参见《System Administration Guide: Security Services》中的"How to Change the RBAC Properties of a User"

如何禁用服务实例

请使用以下过程禁用服务。服务状态更改记录在服务配置系统信息库中。服务一旦被禁用,其禁用状态将持续到重新引导之后。使服务重新运行的唯一方法就是启用服务。

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

    角色包含授权和具有特权的命令。有关角色的更多信息,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"

  2. 检查要禁用的服务的依赖项。

    如果此服务具有您需要的依赖项,则无法禁用此服务。

    # svcs -D FMRI
  3. 禁用服务。
    # svcadm disable FMRI

示例 19-7 禁用 rlogin 服务

第一个命令的输出表明 rlogin 服务没有相关项。本示例中的第二个命令禁用 rlogin 服务。第三个命令显示 rlogin 服务实例处于禁用状态。

# svcs -D network/login:rlogin
# svcadm disable network/login:rlogin
STATE          STIME    FMRI
# svcs network/login:rlogin
STATE          STIME    FMRI
disabled         11:17:24 svc:/network/login:rlogin

如何启用服务实例

请使用以下过程启用服务。服务状态更改记录在服务配置系统信息库中。服务一旦被启用,则只要符合服务相关性,系统每次重新引导后仍将保持该启用状态。

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

    角色包含授权和具有特权的命令。有关角色的更多信息,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"

  2. 确定是否满足服务相关性。

    如果服务处于启用状态,则说明满足了服务相关性。否则,请使用 svcadm enable -r FMRI 以递归方式启用所有的相关性。

    # svcs -l FMRI|grep enabled
  3. 启用服务。
    # svcadm enable FMRI

示例 19-8 启用 rlogin 服务

本示例中的第二个命令启用 rlogin 服务。第三个命令显示 rlogin 服务实例处于联机状态。

# svcs -l network/login:rlogin|grep enabled
enabled      false
# svcadm enable network/login:rlogin
# svcs network/login:rlogin
STATE          STIME    FMRI
online         12:09:16 svc:/network/login:rlogin

示例 19-9 在单用户模式下启用服务

以下命令启用 rpcbind-t 选项在不更改服务系统信息库的临时模式下启动服务。在单用户模式下,系统信息库不可写。-r 选项以递归方式启动指定服务的所有依赖性。

# svcadm enable -rt rpc/bind

如何重新启动服务

如果由于配置更改或其他原因而需要重新启动当前正在运行的服务,那么,可以重新启动该服务,而不必键入单独的命令来先停止后启动该服务。只有必须在禁用服务之后、启用服务之前更改配置时,才需要特意地先禁用服务,然后再启用。

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

    角色包含授权和具有特权的命令。有关角色的更多信息,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"

  2. 重新启动服务。
    # svcadm restart FMRI

如何恢复处于维护状态的服务

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

    角色包含授权和具有特权的命令。有关角色的更多信息,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"

  2. 确定依赖该服务的任何进程是否已停止。

    通常,当某个服务实例处于维护状态时,与该实例相关的所有进程均已停止。但是,您应当在继续操作之前确保这一点。以下命令将列出与某个服务实例相关的所有进程以及这些进程的 PID(进程标识符)。

    # svcs -p FMRI
  3. 可选中止剩余的所有进程。

    对于由 svcs 命令显示的所有进程重复此步骤。

    # pkill -9 PID
  4. 如有必要,请修复服务配置。

    有关错误的列表,请查看 /var/svc/log 中相应的服务日志文件。

  5. 恢复服务。
    # svcadm clear FMRI

如何恢复到另一个 SMF 快照

如果服务配置有误,则可以通过恢复到上次成功启动的快照来修复问题。在以下过程中,使用的是 console-login 服务以前的快照。

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

    角色包含授权和具有特权的命令。有关角色的更多信息,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"

  2. 运行 svccfg 命令。
    # svccfg
    svc:>
    1. 选择要修复的服务实例。

      注 - 必须使用对该实例进行完全定义的 FMRI,而不允许使用快捷方式。


      svc:> select system/console-login:default
      svc:/system/console-login:default>
    2. 创建可用快照的列表。
      svc:/system/console-login:default> listsnap
      initial
      running
      start
      svc:/system/console-login:default>
    3. 选择或恢复到 start 快照。

      start 快照是上次成功启动服务时的快照。

      svc:/system/console-login:default> revert start
      svc:/system/console-login:default>
    4. 退出 svccfg
      svc:/system/console-login:default> quit
      #
  3. 更新服务配置系统信息库中的信息。

    该步骤用 start 快照中的配置信息更新系统信息库。

    # svcadm refresh system/console-login
  4. 重新启动服务实例。
    # svcadm restart system/console-login

如何创建 SMF 配置文件

配置文件是一个 XML 文件,其中列出了各个 SMF 服务以及每个服务是应当处于启用状态还是禁用状态。使用配置文件,可以同时启用或禁用多个服务。并非所有的服务都需要列在配置文件中。每个配置文件只需包括那些为了使其有用而必须启用或禁用的服务。

  1. 创建配置文件。

    在以下示例中,svccfg 命令用来创建一个配置文件,该配置文件反映当前系统上哪些服务处于启用状态,哪些服务处于禁用状态。您还可以创建现有配置文件的副本以对其进行编辑。

    # svccfg extract> profile.xml

    如果您使用的是 Oracle Solaris JumpStart,如果您具有大量相同的系统,或者您希望对系统配置进行归档以供日后恢复,则可能需要使用此过程来创建唯一版本的 SMF 配置文件。

  2. 编辑 profile.xml 文件以进行任何所需的更改。
    1. service_bundle 声明中更改配置文件的名称。

      在以下示例中,要将配置文件的名称更改为 profile

      # cat profile.xml
        ...
      <service_bundle type=`profile` name=`profile`
          xmIns::xi='http://www.w3.org/2003/XInclude'
        ...
    2. 删除所有不应当由该配置文件管理的服务。

      对于每个服务,删除三个描述该服务的行。每个服务说明都以 <service 开头并以 </service 结尾。以下示例说明 LDAP 客户机服务的说明行。

      # cat profile.xml
       ...
       <service name='network/ldap/client' version='1' type='service'>
               <instance  name='default' enabled='true'/>
       </service>
    3. 添加所有应当由该配置文件管理的服务。

      每个服务必须使用上面所示的三行语法来进行定义。

    4. 如有必要,请更改选定服务的启用标志。

      在以下示例中,sendmail 服务处于禁用状态。

      # cat profile.xml
        ...
        <service  name='network/smtp' version='1' type='service'>
          <instance  name='sendmail' enabled='false'/>
        </service>
        ...
  3. 如有必要,请应用新配置文件。

    有关说明,请参见如何应用 SMF 配置文件

如何应用 SMF 配置文件

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

    角色包含授权和具有特权的命令。有关角色的更多信息,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"

  2. 应用配置文件。

    以下示例使用的是 profile.xml 配置文件。

    # svccfg apply profile.xml

    注 - 有关在 generic_limited_net.xmlgeneric_open.xml 之间切换以及在进行此切换时需要应用的属性的具体说明,请参见使用 generic*.xml 更改向网络提供的服务


使用 generic*.xml 更改向网络提供的服务

netservices 命令可在最小网络风险和传统网络风险之间切换系统服务(如在以前的 Solaris 发行版中那样)。该切换是使用 generic_limited.xmlgeneric_open.xml 配置文件实现的。另外,该命令还可更改某些服务属性,以便根据需要将相应的服务限制在仅本地模式或传统模式。

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

    角色包含授权和具有特权的命令。有关角色的更多信息,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"

  2. 运行 netservices 命令。

    在以下示例中,选择的是开放式网络风险(即传统网络风险)。

    # /usr/sbin/netservices open

示例 19-10 限制网络服务的暴露程度

以下命令更改一些服务属性以使相应的服务在本地模式下运行,并限制哪些服务可以通过 generic_limited_net 配置文件来启用。只有在应用了 generic_open.xml 配置文件时,才应当使用此命令。

# /usr/sbin/netservices limited