JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 管理:常见任务     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

关于本书

1.  查找有关 Oracle Solaris 命令的信息

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

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

4.  引导和关闭 Oracle Solaris 系统

5.  使用 Oracle Configuration Manager

6.  管理服务(概述)

7.  管理服务(任务)

监视服务(任务列表)

监视 SMF 服务

如何列出服务的状态

如何列出服务的定制

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

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

如何设置 SMF 转换事件的电子邮件通知

管理 SMF 服务(任务列表)

管理 SMF 服务

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

如何禁用服务实例

如何启用服务实例

如何重新启动服务

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

如何创建 SMF 配置文件

如何应用 SMF 配置文件

配置 SMF 服务(任务列表)

配置 SMF 服务

如何修改 SMF 服务属性

如何修改文件配置的服务

如何更改服务的环境变量

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

如何删除服务的定制

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

如何转换 inetd.conf

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

使用运行控制脚本

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

如何添加运行控制脚本

如何禁用运行控制脚本

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

调试未启动的服务

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

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

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

8.  使用 Fault Manager

9.  管理系统信息(任务)

10.  管理系统进程(任务)

11.  监视系统性能(任务)

12.  管理软件包(任务)

13.  管理磁盘使用(任务)

14.  调度系统任务(任务)

15.  使用 CUPS 设置和管理打印机(任务)

16.  管理系统控制台、终端设备和电源服务(任务)

17.  管理系统故障转储信息(任务)

18.  管理核心文件(任务)

19.  系统和软件问题的故障排除(任务)

20.  其他系统和软件问题的故障排除(任务)

索引

配置 SMF 服务

下列任务说明如何配置 SMF 服务。特别是,如何修改服务或服务实例的服务属性及其他配置信息。

如何修改 SMF 服务属性

此过程说明如何修改用于标识可以启动服务的用户的属性。

  1. 成为管理员,或承担拥有 Service Management (服务管理)权限配置文件的角色。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 更改指定给 start/user 属性的值。

    首先,指定 FMRI 来标识适当服务。然后,指定将启动该服务的 UID。

    # svccfg -s FMRI
    svc:/service: setprop start/user = astring: newlogin
  3. 刷新该服务。
    # svcadm refresh FMRI

如何修改文件配置的服务

以下过程显示如何更改不是由 inetd 服务管理的服务的配置。

  1. 成为管理员,或承担拥有 Service Management (服务管理)权限配置文件的角色。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 根据需要对配置文件进行更改。

    许多服务都有一个或多个用来定义启动或其他配置信息的配置文件。这些文件可以在服务正在运行时进行更改。只有当服务已经启动后,才能检查这些文件的内容。

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

示例 7-12 添加新 NTP 服务器

要添加一个新的 NTP 服务器来支持您的 NTP 客户机,请向 /etc/inet/ntp.conf 文件添加一个对应于该服务器的新条目。然后,重新启动 NTP 服务。此示例显示 ntp.conf 文件的外观以及如何重新启动该服务。

# cat /etc/inet/ntp.conf
   .
   .
server ntpserver1.example.com
server ntpserver2.example.com
# svcadm restart svc:/network/ntp:default

如何更改服务的环境变量

以下过程显示如何修改 cron 环境变量以帮助进行调试。

  1. 成为管理员,或承担拥有 Service Management (服务管理)权限配置文件的角色。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 检验该服务是否正在运行。
    # svcs system/cron
    STATE          STIME    FMRI
    online         Dec_04   svc:/system/cron:default
  3. 设置环境变量。

    在本示例中,设置的是 UMEM_DEBUGLD_PRELOAD 环境变量。有关 setenv 子命令的信息,请参阅 svccfg(1M) 手册页。

    # svccfg -s system/cron:default setenv UMEM_DEBUG default
    # svccfg -s system/cron:default setenv LD_PRELOAD libumem.so
  4. 刷新和重新启动该服务。
    # svcadm refresh system/cron
    # svcadm restart system/cron
  5. 检验是否已进行更改。
    # pargs -e `pgrep -f /usr/sbin/cron`
    100657: /usr/sbin/cron
    envp[0]: LOGNAME=root
    envp[1]: LD_PRELOAD=libumem.so
    envp[2]: PATH=/usr/sbin:/usr/bin
    envp[3]: SMF_FMRI=svc:/system/cron:default
    envp[4]: SMF_METHOD=/lib/svc/method/svc-cron
    envp[5]: SMF_RESTARTER=svc:/system/svc/restarter:default
    envp[6]: TZ=GB
    envp[7]: UMEM_DEBUG=default

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

  1. 成为管理员,或承担拥有 Service Management (服务管理)权限配置文件的角色。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 列出指定服务的属性。

    以下命令显示由 FMRI 标识的服务的所有属性。

    # inetadm -l FMRI
  3. 更改该服务的属性。

    inetd 控制的服务的每个属性都由属性名和指定的值来定义。提供属性名而不指定值会将属性重置为缺省值。有关服务属性的具体信息应包含在与该服务相关的手册页中。

    # inetadm -m FMRI property-name=value
  4. 检验属性是否已更改。

    再次列出属性以确保已进行相应的更改。

    # inetadm -l FMRI
  5. 确认更改已生效。

    确认属性更改达到了所需的效果。

示例 7-13 更改 telnettcp_trace 属性

以下示例显示如何将 telnettcp_trace 属性设置为 true。在运行 telnet 命令之后,检查 syslog 的输出,此时会发现所做的更改已经生效。

# inetadm -l svc:/network/telnet:default
SCOPE    NAME=VALUE
         name="telnet"
 .
 .
default  inherit_env=TRUE
default tcp_trace=FALSE
default  tcp_wrappers=FALSE
# inetadm -m svc:/network/telnet:default tcp_trace=TRUE
# inetadm -l svc:/network/telnet:default
SCOPE    NAME=VALUE
         name="telnet"
 .
 .
default  inherit_env=TRUE
         tcp_trace=TRUE
default  tcp_wrappers=FALSE
# telnet localhost
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
login: root
Password: 
.
.
.
Last login: Mon Jun 21 05:55:45 on console
Sun Microsystems Inc.   SunOS 5.10      s10_57  May 2004
# ^D
Connection to localhost closed by foreign host.
# tail -1 /var/adm/messages
Jun 21 06:04:57 yellow-19 inetd[100308]: [ID 317013 daemon.notice] telnet[100625]
    from 127.0.0.1 32802

如何删除服务的定制

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

  1. 成为管理员,或承担拥有 Service Management (服务管理)权限配置文件的角色。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 列出特定服务的 exec 属性。

    以下命令显示由 FMRI 标识的服务的所有属性。添加 grep 命令会将输出限制在该服务的 exec 属性。

    # inetadm -l FMRI|grep exec
  3. 更改该服务的 exec 属性。

    具有 exec 属性的 command-syntax 集定义在启动服务时运行的命令字符串。

    # inetadm -m FMRI exec="command-syntax"
  4. 检验属性是否已更改。

    再次列出属性以确保已进行相应的更改。

    # inetadm -l FMRI

示例 7-14 向 ftp 命令添加连接日志 (-l) 选项

在以下示例中,当 ftp 守护进程启动时,会向其中添加 -l 选项。此更改的效果可通过在 ftp 登录会话已经完成之后,检查 syslog 输出来查看。

# inetadm -l svc:/network/ftp:default | grep exec
        exec="/usr/sbin/in.ftpd -a"
# inetadm -m svc:/network/ftp:default exec="/usr/sbin/in.ftpd -a -l"
# inetadm -l svc:/network/ftp:default
SCOPE    NAME=VALUE
         name="ftp"
         endpoint_type="stream"
         proto="tcp6"
         isrpc=FALSE
         wait=FALSE
         exec="/usr/sbin/in.ftpd -a -l"
 .
 .
# ftp localhost
Connected to localhost.
220 yellow-19 FTP server ready.
Name (localhost:root): mylogin
331 Password required for mylogin.
Password:
230 User mylogin logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quit
221-You have transferred 0 bytes in 0 files.
221-Total traffic for this session was 236 bytes in 0 transfers.
221-Thank you for using the FTP service on yellow-19.
221 Goodbye.
# tail -2 /var/adm/messages
Jun 21 06:54:33 yellow-19 ftpd[100773]: [ID 124999 daemon.info] FTP LOGIN FROM localhost 
     [127.0.0.1], mylogin
Jun 21 06:54:38 yellow-19 ftpd[100773]: [ID 528697 daemon.info] FTP session closed

如何转换 inetd.conf

以下过程将 inetd.conf 项转换为 SMF 服务清单。无论何时向系统添加依赖 inetd 的第三方应用程序,都需要运行此过程。如果您需要更改 /etc/inetd.conf 中项的配置,也需要运行此过程。

  1. 成为管理员,或承担拥有 Service Management (服务管理)权限配置文件的角色。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 转换 inetd.conf 项。

    inetconv 命令将选定文件中的每个项都转换为服务清单。

    # inetconv -i filename

示例 7-15 将 /etc/inet/inetd.conf 项转换为 SMF 服务清单

# inetconv -i /etc/inet/inetd.conf