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 服务

如何修改服务

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

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

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

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

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

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

示例 19-11 共享 NFS 文件系统

要使用 NFS 服务共享文件系统,必须在 /etc/dfs/dfstab 文件中定义 NFS 文件系统,然后重新启动 NFS 服务。以下示例显示 dfstab 文件的外观以及如何重新启动服务。

# cat /etc/dfs/dfstab
 .
 .
share -F nfs -o rw /export/home
# svcadm restart svc:/network/nfs/server

如何更改服务的环境变量

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

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

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

  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. 成为超级用户或承担等效角色。

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

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

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

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

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

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

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

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

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

示例 19-12 更改 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
Oracle Corporation SunOS 5.10 Generic Patch January 2005
# ^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. 成为超级用户或承担等效角色。

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

  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

示例 19-13 向 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. 成为超级用户或承担等效角色。

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

  2. 转换 inetd.conf 项。

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

    # inetconv -i filename

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

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