系统管理指南:基本管理

第 3 章 使用 Oracle Java Web Console(任务)

本章介绍 Oracle Java Web Console,该软件用来管理在系统上安装和注册的、基于 Web 的 Sun 系统管理应用程序。

以下列出本章所介绍的信息:

有关与使用 Oracle Java Web Console 相关的过程的信息,请参见Oracle Java Web Console 入门(任务图)Oracle Java Web Console 软件故障排除(任务图)

Oracle Java Web Console 管理方面的新增功能

本节包含此 Oracle Solaris 发行版中的新增功能。有关新增功能的完整列表以及 Oracle Solaris 发行版的说明,请参见《Oracle Solaris 10 9/10 新增功能》

Oracle Java Web Console 服务器管理

Solaris 10 11/06:Oracle Java Web Console 服务器由服务管理工具 (Service Management Facility, SMF) 作为一项服务进行管理。有关 SMF 的更多信息,请参见第 18 章

可供 Oracle Java Web Console 使用的应用程序

Solaris 10 6/06:Oracle Solaris ZFS 提供了基于 Web 的 Oracle Java Web Console 管理工具。使用此工具,可以执行许多可通过命令行界面 (command-line interface, CLI) 执行的管理任务。这些功能包括设置参数、查看各种池和文件系统,以及对它们进行更新。

下面举例说明可以用该工具执行的典型过程:

有关使用基于 Web 的 Oracle Solaris ZFS 管理工具的更多信息,请参见《Oracle Solaris ZFS 管理指南》


注 –

Java Enterprise System 软件包括几个在 Oracle Java Web Console 中运行的管理应用程序。


Oracle Java Web Console(概述)

Oracle Java Web Console 为用户访问基于 Web 的系统管理应用程序提供了一个公用位置。可以使用所支持的几种 Web 浏览器之一,通过安全的 https 端口登录来访问该 Web 控制台。由于该 Web 控制台提供单一的入口点,因此不必再记住多个应用程序的 URL。另外,对于在该 Web 控制台中注册的所有应用程序,均可通过单一的入口点对用户进行验证和授权。

所有基于 Web 控制台的应用程序都遵循相同的用户界面使用准则,这会使应用程序更易于使用。该 Web 控制台还为所有注册应用程序提供用户会话审计和日志记录服务。

什么是 Oracle Java Web Console?

Oracle Java Web Console 是一个 Web 页,您可在其中查找在系统上安装和注册的、基于 Web 的 Sun 系统管理应用程序。注册是在应用程序安装过程中自动进行的,因此无需管理员介入。

Oracle Java Web Console 具有如下特性:

Oracle Java Web Console 管理命令

Oracle Java Web Console 包括以下管理命令:

这些命令可用来执行本章中描述的各项任务。

有关每个命令的更多信息,请参见 smcwebserver(1M)wcadmin(1M)smreg(1M) 手册页。

支持的 Web 浏览器

在运行 Oracle Solaris 时,Oracle Java Web Console 可以在下面的任一浏览器中使用:

Oracle Java Web Console 入门(任务图)

任务 

说明 

参考 

从 Oracle Java Web Console 的启动页启动应用程序。 

Oracle Java Web Console 的启动页列出了您有权使用的所有已注册的系统管理应用程序。可通过单击特定应用程序的名称与该应用程序进行连接。  

如何从 Oracle Java Web Console 的启动页启动应用程序

启动、停止、启用和禁用控制台服务器。 

您可以管理用来运行控制台和注册应用程序的 Web 服务器。 

如何启动控制台服务

如何使控制台服务在系统启动时运行

如何停止控制台服务

如何禁用控制台服务

更改 Oracle Java Web Console 的属性。 

不必更改该 Web 控制台的任何缺省属性。 

可以选择进行更改的属性包括:

  • 控制台会话超时

  • 日志级别

  • 审计实现

如何更改 Oracle Java Web Console 属性

Oracle Java Web Console 入门

Oracle Java Web Console 的启动页上列出了您有权使用的已注册系统管理应用程序,以及每个应用程序的简要说明。可通过单击特定应用程序的名称(该名称链接到实际的应用程序)来与其进行连接。缺省情况下,选定应用程序会在 Web 控制台窗口中打开。可以通过单击“在新窗口中启动每个应用程序”复选框来选择在单独的浏览器窗口中打开应用程序。当您在单独的窗口中打开应用程序时,该 Web 控制台的启动页仍可用,因此,您可以返回到启动页并在单次登录中启动多个应用程序。

要访问控制台启动页,请在 Web 位置字段中键入以下格式的 URL:

https://hostname.domain:6789

其中:


注 –

从特定系统首次访问 Oracle Java Web Console 时,必须接受服务器的证书,才会显示该 Web 控制台的启动页。


如果在系统上启用了 RBAC,且为某个角色指定了您的用户身份,则成功登录后系统会提示您输入角色口令。如果您承担某个角色,则系统会对承担的角色进行授权检查。您可以通过选择“无角色”来取消承担某个角色,然后系统会针对您的用户身份进行授权检查。授权检查成功后,将显示 Web 控制台启动页。

Procedure如何从 Oracle Java Web Console 的启动页启动应用程序

  1. 启动与 Oracle Java Web Console 兼容的 Web 浏览器(如 Mozilla 1.7 或 Firefox 1.0)。

    有关支持的浏览器的列表,请参见支持的 Web 浏览器

  2. 在 Web 浏览器的位置字段中键入控制台的 URL。

    例如,如果管理服务器主机的名称为 sailfish,域为 sw,则 URL 为 https://sailfish.sw:6789。通过此 URL 将进入 Web 控制台登录页面。

  3. 接受服务器的证书。

    对于服务器的证书,只需在每个浏览器会话中接受一次,而不需要在每次登录控制台或启动应用程序时都执行接受操作。

    将显示登录页面,如下图中所示。

    图 3–1 Oracle Java Web Console 的登录页面

    显示 Oracle Java Web Console 的登录页面。

  4. 输入您的用户名和口令,还可以选择输入您的 RBAC 角色。

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

    控制台服务会检查您的凭证以便验证它们,并确保您有权使用控制台和注册应用程序。

  5. 如果您要在新窗口中运行该应用程序,单击“在新窗口中启动每个应用程序”复选框。

    如果此选项处于未选中状态,则应用程序将在缺省窗口中运行,并取代启动页。

  6. 单击与要运行的应用程序相对应的链接。


    提示 –

    还可以使用如下语法,绕过启动页而直接启动单个应用程序:


    https://hostname.domain:6789/app-context-name
    

    其中,app-context-name 是在部署应用程序时使用的名称。

    要查找应用程序上下文的名称,可以执行以下操作之一:

    • 阅读应用程序的文档。

    • 运行 wcadmin list -asmreg list -a 命令,查看已部署的 Web 应用程序及其上下文名称的列表。

    • 从 Web 控制台的启动页运行该应用程序,并记下地址位置字段中所显示的 URL。您可以在下次使用应用程序时直接键入该 URL。也可以为该位置制作书签并通过书签来访问相应的应用程序。


管理控制台服务

Solaris 10 11/06:Oracle Java Web Console 服务通过服务管理工具 (Service Management Facility, SMF) 进行管理。您可以使用 SMF 命令或者 smcwebserver 脚本来启动、停止、启用和禁用控制台服务。该控制台在 SMF 中使用的 FMRI(故障管理资源标识符)是 system/webconsole:console

Procedure如何启动控制台服务

此过程可临时启动服务器。如果服务器以前禁止在系统引导时启动,则它将继续处于禁用状态。如果服务器以前处于启用状态,则它将继续处于启用状态。

从 Solaris 10 11/06 发行版开始,运行状态 enabled 显示为 true (temporary)(如果服务器在禁用状态下运行)。

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

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

  2. 立即启动服务器,而不更改启用状态。


    # smcwebserver start
    

Procedure如何使控制台服务在系统启动时运行

此过程使控制台服务能够在系统每次启动时运行。控制台不是在当前的会话中启动的。

从 Solaris 10 11/06 发行版开始,此过程会在 SMF 中将 general/enabled 属性设置为 true,以使服务器在系统引导时启动。

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

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

  2. 使服务器能够在系统引导时启动。


    # smcwebserver enable
    

    Solaris 10 11/06:或者,如果您要立即启动服务器,并使该服务器可以在系统引导时启动,请使用以下命令:


    # svcadm enable system/webconsole:console
    

    注 –

    如果您正在运行 Solaris 10 11/06 发行版,则不能使用 smcwebserver 命令来启用控制台,而必须使用 svcadm 命令。


Procedure如何停止控制台服务

此过程可临时停止服务器。如果服务器以前禁止在系统引导时启动,则它将继续处于禁用状态。如果服务器以前处于启用状态,则它将继续处于启用状态。

从 Solaris 10 11/06 发行版开始,运行状态 enabled 显示为 false (temporary)(如果服务器在启用状态下停止)。

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

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

  2. 立即停止服务器,而不更改启用状态。


    # smcwebserver stop
    

Procedure如何禁用控制台服务

处于禁用状态的控制台服务器不会在系统引导时启动。

从 Solaris 10 11/06 发行版开始,此过程会在 SMF 中将控制台的 general/enabled 属性设置为 false,以使控制台服务器在系统引导时不启动。

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

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

  2. 禁止服务器在系统引导时启动。


    # smcwebserver disable
    

    Solaris 10 11/06:或者,如果您要立即停止服务器,并禁止服务器在系统引导时启动,请使用以下命令:


    # svcadm disable system/webconsole:console
    

    注 –

    如果您正在运行 Solaris 10 11/06 发行版,则不能使用 smcwebserver 命令来禁用控制台,而必须使用 svcadm 命令。


配置 Oracle Java Web Console

Oracle Java Web Console 预先配置为在没有管理员干预的情况下运行。但是,您可以选择通过覆盖控制台的配置属性来更改 Web 控制台的某些缺省行为。


注 –

从 Solaris 10 11/06 OS 开始,必须使用 wcadmin 命令来更改这些属性,而在以前使用的是 smreg 命令。有关 wcadmin 命令的更多信息,请参见 wcadmin (1M) 手册页。


控制台配置文件中的属性对控制台的行为进行控制。要更改行为,需要定义新属性值来覆盖缺省值。除非对缺省值不提供的功能(如指定自己的登录服务)有特别需求,否则不能覆盖大多数属性的缺省值。

通常,可以考虑更改下面的属性值:

有关如何指定审计实现的示例,请参见示例 3–5

Procedure如何更改 Oracle Java Web Console 属性

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

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

  2. 根据所运行的 Oracle Solaris 发行版,请按如下方式更改选定的属性值:

    • 如果您所运行的版本不低于 Solaris 10 11/06 发行版,请使用以下命令:


      # wcadmin add -p -a console name=value
      
      -p

      指定对象类型为属性。

      -a console

      指定更改名为 console 的应用程序的属性。在更改控制台属性时,必须始终使用 -a console 选项。

      name=value

      指定该属性的属性名称和新值。

    • 对于 Oracle Solaris 10、Solaris 10 1/06 和 Solaris 10 6/06 发行版,请使用以下命令:


      # smreg add -p -c name
      
  3. (可选的)将控制台属性重置为其缺省值。

    • 如果您所运行的版本不低于 Solaris 10 11/06 发行版,请使用以下命令:


      # wcadmin remove -p -a console name=value
      
    • 对于 Oracle Solaris 10、Solaris 10 1/06 和 Solaris 10 6/06 发行版,请使用以下命令:


      # smreg remove -p -c name
      
      -p

      指定对象类型为属性。

      -c

      指定更改控制台应用程序的属性。在更改控制台属性时,必须始终使用 -c 选项。

      name

      指定该属性的属性名称和新值。


示例 3–1 更改 Oracle Java Web Console 的会话超时属性

此示例说明如何将会话超时值设置为 5 分钟。


# wcadmin add -p -a console session.timeout.value=5


示例 3–2 配置 Oracle Java Web Console 日志级别

以下示例说明如何将日志级别设置为 all


# wcadmin add -p -a console logging.default.level=all


示例 3–3 将 Oracle Java Web Console 日志级别重置为缺省值

以下示例说明如何将日志级别重置为缺省值。


# wcadmin remove -p -a console logging.default.level


示例 3–4 为 Oracle Java Web Console 指定 Java 版本

以下示例说明如何为该控制台设置 Java 版本。


# wcadmin add -p -a console java.home=/usr/java


示例 3–5 为 Oracle Java Web Console 选择审计实现

以下示例显示如何将审计实现设置为 None


# wcadmin add -p -a console audit.default.type=None

有效的审计类型为:

None

无审计

Log

系统日志审计消息

Solaris

BSM 审计消息


Oracle Java Web Console 用户身份

缺省情况下,Web 控制台在 noaccess 用户身份下运行。但是,某些系统配置会禁用 noaccess 用户,或者将 noaccess 用户的登录 shell 设置为无效项,使该用户身份不可用。

noaccess 用户不可用时,该 Web 控制台服务器将无法启动或配置,因此您必须指定一个备用的用户身份。最好仅更改一次用户身份,这可以在最初启动时配置控制台服务器之前进行。

控制台启动之前,您可以使用下面的任一命令,将 Web 控制台配置为在其他非超级用户身份下运行:


# smcwebserver start -u username

此命令会在指定的用户身份下启动该 Web 控制台服务器。如果在 Web 控制台第一次启动之前发出此命令,则 Web 控制台服务器在每次后续启动后,都会在此身份下运行。

如果您所运行的版本不低于 Solaris 10 11/06 发行版,还可以使用以下命令:


# wcadmin add -p -a console com.sun.web.console.user=
username

注 –

从 Solaris 10 11/06 发行版开始,当系统初始启动时,控制台也会启动并自动配置为在 noaccess 下运行。因此,在您更改用户身份之前,用户身份将被设置为 noaccess。使用以下命令将控制台重置为其初始未配置状态。然后,在重新启动控制台时指定其他用户身份。


# smcwebserver stop
# /usr/share/webconsole/private/bin/wcremove -i console
# smcwebserver start -u new_user_identity

对于 Oracle Solaris 10、Solaris 10 1/06 和 Solaris 10 6/06 发行版,请使用以下命令:


# smreg add -p -c com.sun.web.console.user=username

此命令导致以后每次启动该 Web 控制台服务器时,该服务器都将在指定的用户身份下运行。

使用控制台调试跟踪日志

缺省情况下,控制台不记录调试消息。您可以打开调试日志记录以帮助解决控制台服务问题。

可以通过将 debug.trace.level 属性设置为 0 以外的值来打开调试日志记录。

可用的选项包括:

缺省情况下,对于 Oracle Solaris 10、Solaris 10 1/06 和 Solaris 10 6/06 发行版,调试跟踪日志创建在 /var/log/webconsole 目录中。从 Solaris 10 11/06 发行版开始,该日志创建在 /var/log/webconsole/console 目录中。该日志文件名为 console_debug_log。历史记录日志(如 console_debug_log.1console_debug_log.2)也可能存在于此目录中。在该目录中存储的历史记录日志数达到五个(缺省设置)后,会删除最早的日志并创建新日志。


示例 3–6 设置控制台的调试跟踪日志级别

可以使用以下命令将调试跟踪日志级别设置为 3。

对于 Solaris 10 11/06 发行版,请使用以下命令:


# wcadmin add -p -a console debug.trace.level=3

对于 Oracle Solaris 10、Solaris 10 1/06 和 Solaris 10 6/06 发行版,请使用以下命令:


# smreg add -p -c debug.trace.level=3


示例 3–7 检查 debug.trace.level 属性的状态

要检查 debug.trace.level 属性的状态,请使用 wcadmin listsmreg list 命令。

Solaris 10 11/06:


# wcadmin list -p | grep "debug.trace.level"

对于 Oracle Solaris 10、Solaris 10 1/06 和 Solaris 10 6/06 发行版,请使用以下命令:


# smreg list -p | grep "debug.trace.level"

Oracle Java Web Console 软件故障排除(任务图)

任务 

说明 

参考 

检查并确定控制台是否正在运行且处于启用状态。 

使用 smcwebserverwcadminsvcs 命令来检查控制台是否正在运行且处于启用状态。此信息对解决问题很有用。

如何检查控制台是否正在运行且处于启用状态

列出控制台资源和控制台属性。 

为了进行故障排除,您可能需要收集有关控制台资源和控制台属性的信息。 

如何列出控制台资源和控制台属性

确定应用程序是否为传统应用程序。 

当前的应用程序可以在控制台服务器正在运行时使用一条命令来注册和部署,传统应用程序则要求注册过程中控制台服务器应处于停止状态。如果您需要注册或注销应用程序,则必须首先确定该应用程序是否为传统应用程序。 

如何确定应用程序是否为传统应用程序

列出所有已注册的应用程序。 

可以列出使用 Oracle Java Web Console 注册的所有应用程序。列出所有已注册的应用程序会为您提供有助于进行故障排除的信息。 

如何列出已部署的应用程序

使用 Oracle Java Web Console 注册传统应用程序。 

如果您需要使用传统应用程序,则必须首先使用 Oracle Java Web Console 注册该应用程序。 

如何使用 Oracle Java Web Console 注册传统应用程序

从 Oracle Java Web Console 注销传统应用程序。 

如果用 Oracle Java Web Console 注册的传统应用程序已不再需要,请按照相应的过程来将其注销。 

如何从 Oracle Java Web Console 注销传统应用程序

使用 Oracle Java Web Console 注册当前应用程序。 

在使用新应用程序之前,需要使用 Oracle Java Web Console 注册该应用程序。 

如何使用 Oracle Java Web Console 注册当前应用程序

从 Oracle Java Web Console 注销当前的应用程序。 

在某些情况下,可能需要从 Oracle Java Web Console 注销当前的应用程序。 

如何从 Oracle Java Web Console 注销当前的应用程序

启用对 Oracle Java Web Console 的远程访问。 

您可以仅启用对该控制台的远程访问,同时保持其他访问限制。 

如何启用对 Oracle Java Web Console 的远程访问

更改控制台的内部口令。 

Oracle Java Web Console 使用内部口令。为了降低出现安全性破坏的可能性,可以更改这些口令。 

如何更改控制台的内部口令

对 Oracle Java Web Console 软件进行故障排除

下面提供的信息有助于解决在使用 Oracle Java Web Console 软件时可能遇到的任何问题。

检查控制台的状态和属性

可以使用 smcwebserverwcadminsvcs 命令来获取有关控制台的不同类型的信息,这些信息对解决问题很有用。

Procedure如何检查控制台是否正在运行且处于启用状态

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

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

  2. 检查服务器的状态。


    # smcwebserver status
    Sun Java(TM) Web Console is running
  3. Solaris 10 11/06:检查控制台的 SMF 状态和启用状态。


    # svcs -l system/webconsole:console
    

    如果您使用 smcwebserver 命令来启动和停止服务器,而不启用和禁用它,则 enabled 属性可能显示为 false (temporary)true (temporary)

Procedure如何列出控制台资源和控制台属性

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

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

  2. 列出控制台资源和控制台属性。

    如果您所运行的版本不低于 Solaris 10 11/06 发行版,请使用以下命令:


    # wcadmin list
    
    Deployed web applications (application name, context name, status):
     
        console      ROOT            [running]
        console      com_sun_web_ui  [running]
        console      console         [running]
        console      manager         [running]
        legacy       myapp           [running]
     
    Registered jar files (application name, identifier, path):
     
        console  audit_jar     /usr/lib/audit/Audit.jar
        console  console_jars  /usr/share/webconsole/lib/*.jar
        console  jato_jar      /usr/share/lib/jato/jato.jar
        console  javahelp_jar  /usr/jdk/packages/javax.help-2.0/lib/*.jar
        console  shared_jars   /usr/share/webconsole/private/container/shared/lib/*.jar
     
    Registered login modules (application name, service name, identifier):
     
        console  ConsoleLogin  userlogin
        console  ConsoleLogin  rolelogin
     
    Shared service properties (name, value):
     
        ENABLE            yes
        java.home         /usr/jdk/jdk1.5.0_06

    注 –

    由于 SMF 使用自身的启用属性(如上一个过程中所示),此 ENABLE 属性将被忽略。ENABLE 属性用于旧式系统,该系统的控制台服务器不是由 SMF 管理。


    对于 Oracle Solaris 10、Solaris 10 1/06 和 Solaris 10 6/06 发行版,请使用以下命令:


    # smreg list
    
     The list of registered plugin applications:
    
    com.sun.web.console_2.2.4       /usr/share/webconsole/console
    com.sun.web.ui_2.2.4    /usr/share/webconsole/com_sun_web_ui
    com.sun.web.admin.example_2.2.4 /usr/share/webconsole/example
    
    The list of registered jar files:
    
    com_sun_management_services_api.jar scoped to ALL
    com_sun_management_services_impl.jar scoped to ALL
    com_sun_management_console_impl.jar scoped to ALL
    com_sun_management_cc.jar scoped to ALL
    com_sun_management_webcommon.jar scoped to ALL
    com_iplanet_jato_jato.jar scoped to ALL
    com_sun_management_solaris_impl.jar scoped to ALL
    com_sun_management_solaris_implx.jar scoped to ALL
    
    The list of registered login modules for service ConsoleLogin:
    
    com.sun.management.services.authentication.PamLoginModule optional
    use_first_pass="true" commandPath="/usr/lib/webconsole";
    com.sun.management.services.authentication.RbacRoleLoginModule requisite
    force_role_check="true" commandPath="/usr/lib/webconsole";
    
    The list of registered server configuration properties:
    
    session.timeout.value=15
    authentication.login.cliservice=ConsoleLogin
    logging.default.handler=com.sun.management.services.logging.ConsoleSyslogHandler
    logging.default.level=info
    logging.default.resource=com.sun.management.services.logging.resources.Resources
    logging.default.filter=none
    logging.debug.level=off
    audit.default.type=None
    audit.None.class=com.sun.management.services.audit.LogAuditSession
    audit.Log.class=com.sun.management.services.audit.LogAuditSession audit.class.fail=none
    authorization.default.type=SolarisRbac
    authorization.SolarisRbac.class=
    com.sun.management.services.authorization.SolarisRbacAuthorizationService
    authorization.PrincipalType.class=
    com.sun.management.services.authorization.PrincipalTypeAuthorizationService
    debug.trace.level=0
    .
    .
    .
    No environment properties have been registered.

访问控制台时遇到的问题

控制台访问问题可能表示控制台服务器尚未启用或者安全设置受到限制。有关更多信息,请参见检查控制台的状态和属性Oracle Java Web Console 安全注意事项

应用程序注册问题

本节包含有关解决控制台应用程序可能会遇到的注册问题的信息。有关特定控制台应用程序的信息,应当参阅相应应用程序的文档。


注 –

控制台应用程序通常在安装过程中进行注册,因此,您通常不需要亲自注册应用程序。


从 Solaris 10 11/06 发行版开始,Web 控制台更改了应用程序的注册方法,但仍然支持为早期版本的控制台开发的应用程序。当前的应用程序可以在控制台服务器正在运行时使用一条命令来注册和部署,针对早期版本的控制台开发的应用程序称为传统应用程序,而且要求在注册过程中控制台服务器处于停止状态。如果您需要注册或注销应用程序,则必须首先确定该应用程序是否为传统应用程序,如下面的过程所述。

Procedure如何确定应用程序是否为传统应用程序

  1. 查看应用程序的 app.xml 文件。

    app.xml 文件位于应用程序的 WEB-INF 目录中。

  2. 检查 app.xml 文件中的 registrationInfo 标记。

    对于传统应用程序,registrationInfo 标记的版本为 2.x。例如,registrationInfo version="2.2.4"

    对于当前应用程序,registrationInfo 标记中的版本至少为 3.0。例如,registrationInfo version="3.0"

Procedure如何列出已部署的应用程序

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

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

  2. 列出已部署的应用程序。

    如果您所运行的版本不低于 Solaris 10 11/06 发行版,请使用以下命令:


    # wcadmin list -a
    
    Deployed web applications (application name, context name, status):
     
        console  ROOT            [running]
        console  com_sun_web_ui  [running]
        console  console         [running]
        console  manager         [running]
        legacy   myapp           [running]

    该命令会列出所有已注册和已部署的应用程序。所列出的传统应用程序的名称中会显示 legacy。请参见如何确定应用程序是否为传统应用程序。列出的所有其他应用程序都是当前的应用程序,应当按照如何使用 Oracle Java Web Console 注册当前应用程序中的说明进行注册。

    通常,显示的应用程序状态包含 runningstopped。如果状态为 running,则应用程序当前已装入并且可用。如果状态为 stopped,则应用程序当前未装入,从而不可用。有时应用程序会成功注册和部署,但由于应用程序中的问题而不会装入。如果这样,则应用程序的状态为 stopped。请检查 console_debug_log,以确定尝试装入应用程序时,从控制台的基础 Web 容器 Tomcat 追溯是否有错误。有关 console_debug_log 的更多信息,请参见使用控制台调试跟踪日志

    如果所有的应用程序都显示 stopped (包括控制台应用程序),则通常意味着控制台的 Web 容器没有运行。本例中的应用程序列表是从在 Web 容器中注册的静态 context.xml 文件中获取的。

    对于 Oracle Solaris 10、Solaris 10 1/06 和 Solaris 10 6/06 发行版,请使用以下命令:


    # smreg list -a
    
    The list of registered plugin applications:
    
            com.sun.web.console_2.2.4       /usr/share/webconsole/console
            com.sun.web.ui_2.2.4    /usr/share/webconsole/com_sun_web_ui
            com.sun.web.admin.yourapp_2.2.4 /usr/share/webconsole/yourapp

Procedure如何使用 Oracle Java Web Console 注册传统应用程序


注 –

此过程适用于 Oracle Solaris 10、Solaris 10 1/06 和 Solaris 10 6/06 发行版中的所有控制台应用程序。从 Solaris 10 11/06 发行版开始,此过程适用于那些标识为传统应用程序的应用程序。有关当前应用程序的注册过程,请参见如何使用 Oracle Java Web Console 注册当前应用程序。另请参见如何确定应用程序是否为传统应用程序


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

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

  2. 停止 Web 服务器。


    # smcwebserver stop
    
  3. 注册应用程序。


    # smreg add -a /directory/containing/application-files
    
    

    smreg 命令管理 Oracle Java Web Console 注册表中的信息。此脚本还执行部署应用程序所需的一些其他工作。有关此命令的其他选项,请参见 smreg(1M) 手册页。

  4. 重新启动 Web 服务器。


    # smcwebserver start
    

示例 3–8 注册传统应用程序

以下示例说明如何注册其文件位于 /usr/share/webconsole/example 目录中的传统应用程序。请注意,对于传统应用程序,在注册应用程序之前必须停止控制台服务器,在注册应用程序之后必须启动控制台服务器。可忽略 smreg 发出的警告,因为该应用程序是传统的控制台应用程序。


# smcwebserver stop
# smreg add -a /usr/share/webconsole/example

    Warning: smreg is obsolete and is preserved only for
    compatibility with legacy console applications. Use wcadmin instead.

    Type "man wcadmin" or "wcadmin --help" for more information.

Registering com.sun.web.admin.example_version.

# smcwebserver start

Procedure如何从 Oracle Java Web Console 注销传统应用程序


注 –

此过程适用于 Oracle Solaris 10、Solaris 10 1/06 和 Solaris 10 6/06 发行版中的所有控制台应用程序。从 Solaris 10 11/06 发行版开始,此过程适用于那些标识为传统应用程序的应用程序。有关如何注销当前应用程序的过程,请参见如何从 Oracle Java Web Console 注销当前的应用程序


如果不希望特定的传统应用程序显示在 Web 控制台的启动页中,但是又不想卸载该软件,则可以使用 smreg 命令来注销该应用程序。请参见如何确定应用程序是否为传统应用程序

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

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

  2. 注销应用程序。


    # smreg remove -a app-name
    

示例 3–9 从 Oracle Java Web Console 注销传统应用程序

以下示例说明如何如何注销 app-namecom.sun.web.admin.example 的传统应用程序。


# smreg remove -a com.sun.web.admin.example

 Unregistering com.sun.web.admin.example_version.

Procedure如何使用 Oracle Java Web Console 注册当前应用程序

Solaris 10 11/06:此过程适用于无需停止和启动控制台服务器即可注册和部署的已更新的控制台应用程序。有关传统应用程序和 Oracle Solaris 10、Solaris 10 1/06、Solaris 10 6/06 发行版中的所有控制台应用程序的注册过程,请参见如何使用 Oracle Java Web Console 注册传统应用程序。另请参见如何确定应用程序是否为传统应用程序

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

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

  2. 注册和部署应用程序。


    wcadmin deploy -a app-name -x app-context-name
     /full path/to/app-name
    

示例 3–10 注册当前的应用程序

以下示例说明如何注册和部署已经为当前的 Web 控制台开发或更新的应用程序。


# wcadmin deploy -a newexample_1.0 -x newexample /apps/webconsole/newexample

Procedure如何从 Oracle Java Web Console 注销当前的应用程序

Solaris 10 11/06:此过程适用于无需停止和启动控制台服务器即可注销和取消部署的已更新的控制台应用程序。有关传统应用程序和 Oracle Solaris 10、Solaris 10 1/06、Solaris 10 6/06 发行版中的所有控制台应用程序的注销过程,请参见如何从 Oracle Java Web Console 注销传统应用程序。请参见如何列出已部署的应用程序如何确定应用程序是否为传统应用程序,确定应用程序是传统应用程序还是已更新的应用程序。

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

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

  2. 取消部署和注销应用程序。


    # wcadmin undeploy -a newexample_1.0 -x newexample
    

Oracle Java Web Console 参考信息

本参考节包含以下主题:

Oracle Java Web Console 安全注意事项

使用 Oracle Java Web Console 中的应用程序时,要牢记几个安全注意事项。

这些安全注意事项包括:

对 Oracle Java Web Console 的访问权限

对于 Web 控制台启动应用程序的权限通常是开放的,以便任何有效用户都可以登录。但是,可以通过在 Web 控制台的 app.xml 文件(位于 /usr/share/webconsole/webapps/console/WEB-INF 目录中)的 authTypes 标记中指定权限来限制对控制台的访问。有关更多信息,请参见使用 authTypes 标记指定授权

某些系统配置设置得非常安全,因此,如果有人企图从远程系统连接到控制台或已注册应用程序的 URL,这样的请求将被拒绝。如果您的系统配置为禁止远程访问,那么,当您尝试通过 https://hostname.domain:6789 访问控制台时,浏览器中将显示一条类似于以下内容的消息:


Connect to hostname.domain:6789 failed (Connection refused)

系统中的 SMF 配置文件可能会限制访问。有关配置文件的更多信息,请参见SMF 配置文件。有关如何允许从远程系统访问控制台的过程,请参见启用对 Oracle Java Web Console 的远程访问

对 Oracle Java Web Console 中应用程序的访问权限

成功登录 Web 控制台后,可能无法自动访问在该控制台中注册的所有应用程序。通常,必须安装应用程序,才能让所有的用户在控制台的启动页中看到它们。作为管理员,您可以授予和限制对应用程序的访问权限。

要限制对应用程序的访问权限,请在 authTypes 标记(位于应用程序的 app.xml 文件中)中指定权限。应用程序的 app.xml 文件可以在 installation-location/WEB-INF/ 子目录中找到。通常,此目录位于 /usr/share/webconsole/webapps/app-context-name/WEB-INF 中。

如果应用程序文件不在通常的位置,则可以使用以下命令找到这些文件:


wcadmin list --detail -a

此命令可以列出每个已部署应用程序,同时显示其部署时间和指向应用程序的基目录的路径。app.xml 文件位于基目录的子目录 WEB-INF 中。

有关更多信息,请参见使用 authTypes 标记指定授权

应用程序权限

如果您可以在 Oracle Java Web Console 的启动页中看到某个应用程序的链接,则可以运行该应用程序。但是,应用程序可能会基于经过验证的用户或角色身份执行其他授权检查。这些检查不是由 authTypes 标记控制的,而是显式编码到应用程序中。例如,应用程序可以向所有经过验证的用户授予读取访问权限,但是会将更新访问权限限制在少数几个用户或少数几个角色。

应用程序对远程系统的访问权限

具备所有适当的凭证并不能保证您可以使用某个应用程序来管理该应用程序的操作范围内的每个系统。使用 Oracle Java Web Console 应用程序来管理的每个系统都有各自的安全域。对于该 Web 控制台系统具有读写权限并不能保证这些凭证自动满足管理任何其他远程系统的需要。

通常,对远程系统的访问权限取决于如何在 Web 应用程序中实现安全。Web 应用程序通常会调用代表应用程序执行操作的代理。这些应用程序必须由代理基于如下内容来进行验证:应用程序的 Web 控制台凭证,以及代理系统用于对应用程序进行识别的凭证。根据代理验证的执行方式,还可以基于这个经过验证的身份对代理本身执行授权检查。

例如,在使用远程 WBEM 代理的 Web 应用程序中,验证通常使用最初向 Oracle Java Web Console 验证的用户或角色身份。如果此验证在该代理系统上失败,则会拒绝在这个 Web 应用程序中访问该系统。即使此验证在该代理系统上成功,但是如果该代理在进行访问控制检查之后拒绝了访问,则访问仍可能被拒绝。多数应用程序都按照如下方式编写:如果已经在 Web 控制台上成功验证而且承担了正确的角色,针对代理的验证和授权检查就决不会失败。

在控制台使用的内部口令

从 Solaris 10 11/06 发行版开始,Oracle Java Web Console 使用几个用口令保护的内部用户名,在底层 Web 服务器上执行管理任务,并对密钥库文件和信任库文件进行加密。将这些口令设置为初始值可允许安装控制台。为了降低出现安全性破坏的可能性,应当在安装之后更改这些口令。请参见更改 Oracle Java Web Console 的内部口令

使用 authTypes 标记指定授权

尽管多数系统管理 Web 应用程序不需要管理员对 authTypes 标记的使用进行任何干预,但在某些情况下,您可能需要更改此标记的值。authTypes 标记包含一组描述信息,这些信息描述用户在 Oracle Java Web Console 中查看应用程序所必需的授权级别。该 Web 控制台基于特定应用程序 app.xml 文件中的授权要求来确定用户是否有权查看该应用程序。每个应用程序都能够确定用户是否必须具有正确的授权才能运行该应用程序,这可以在应用程序的安装过程中确定。或者,您可能需要根据自己的安全要求提供信息。应用程序的产品文档中应当包含确定是否需要指定特定权限所必需的信息。

可以在 authTypes 标记中嵌套几个 authType 标记。

authTypes 标记中必须至少包含一个提供如下必需信息的 authType 标记:

在以下示例中,authType 标记有一个属性:namename 属性是必需的,它是授权服务类型的名称。授权类型不同,classTypepermissionParam 标记的值可能也需要有所不同。


<authTypes>
	<authType name="SolarisRbac">
	    <classType>
	      com.sun.management.solaris.RbacPermission
	    </classType>
	    <permissionParam name="permission">
	      solaris.admin.serialmgr.read
	    </permissionParam>
	</authType>
</authTypes>

下表显示了可嵌套在 authType 标记中的标记。

表 3–1 嵌套的 authType 标记

标记 

属性 

说明 

classType

 

Permission 子类名。此标记是必需的。

permissionParam

name

创建 classType 所指定类型的类的实例所必需的参数。

authTypes 标记和嵌套的 authType 标记是 app.xml 文件中的必需元素。如果希望注册所有人都可使用的应用程序,请指定 authType 标记,但不要在其中包括任何内容,如以下示例所示。


<authTypes>
        <authType name="">
            <classType></classType>
            <permissionParam name=""></permissionParam>
        </authType>
</authTypes>

启用对 Oracle Java Web Console 的远程访问

如果只能通过先登录运行该控制台的系统再使用 URL https://localhost:6789 来连接到该控制台,则说明系统所使用的配置禁止进行远程访问。从 Solaris 10 11/06 发行版开始,可以仅启用对控制台的远程访问,同时保留其他访问限制,具体过程如下所示:

Procedure如何启用对 Oracle Java Web Console 的远程访问

  1. 在正在运行该控制台的系统上成为超级用户或同等角色。

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

  2. 设置属性,以允许控制台服务器响应网络请求并重新启动控制台服务器。


    # svccfg -s svc:/system/webconsole setprop options/tcp_listen = true
    
    # smcwebserver restart
    

禁用对 Oracle Java Web Console 的远程访问

可以阻止用户从远程系统连接至控制台。从 Solaris 10 11/06 发行版开始,可以仅禁用对该控制台的远程访问,同时保留其他访问权限,具体过程如下所示:

Procedure如何禁用对 Oracle Java Web Console 的远程访问

  1. 在正在运行该控制台的系统上成为超级用户或同等角色。

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

  2. 设置属性,以阻止控制台服务器响应网络请求并重新启动控制台服务器。


    # svccfg -s svc:/system/webconsole setprop options/tcp_listen = false
    
    # smcwebserver restart
    

    重新启动后,控制台现在仅对与控制台服务器进程位于同一系统上的浏览器作出响应。您无法在浏览器中使用代理,只能使用直接连接。您还可以使用 https://localhost:6789/ URL 来访问该控制台。

更改 Oracle Java Web Console 的内部口令

从 Solaris 10 11/06 发行版开始,控制台使用一些内部用户名和口令。该控制台的内部用户名和口令只能由控制台框架来使用,而决不能由用户或系统管理员直接使用。但是,在获知口令之后,恶意用户有可能会干扰控制台应用程序。为了降低出现类似安全性破坏的可能性,应当更改这些口令。您不需要记住这些新口令,因为软件会以不可见方式使用它们。

Procedure如何更改控制台的内部口令

这些口令分为管理口令、密钥库口令和信任库口令。您可以在不知道缺省初始值的情况下更改这些口令。以下过程介绍如何使用相应的命令来更改这三种口令。

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

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

  2. 更改管理口令。


    # wcadmin password -a
    

    系统将提示您输入新口令两次。口令应当为 8 到 32 个字符。

  3. 更改密钥库口令。


    # wcadmin password -k
    

    系统将提示您输入新口令两次。口令应当为 8 到 32 个字符。

  4. 更改信任库口令。


    # wcadmin password -t
    

    系统将提示您输入新口令两次。口令应当为 8 到 32 个字符。