跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:常见任务 Oracle Solaris 11 Information Library (简体中文) |
5. 使用 Oracle Configuration Manager
当 system/filesystem/local:default 服务在系统引导期间失败时,如何强制出现 sulogin 提示符
本节包括有关管理 SMF 服务的信息。
可以使用 RBAC 权限配置文件来允许用户管理某些 SMF 服务,而不必授予用户 root 访问权限。权限配置文件定义用户可以运行哪些命令。已经为 SMF 创建了下列配置文件:
Service Management:用户可以添加、删除或修改服务。
Service Operator:用户可以请求对任何服务实例的状态进行更改(如重新启动和刷新)。
有关授权的具体信息,请参见 smf_security(5) 手册页。有关指定权限配置文件的说明,请参见《Oracle Solaris 管理:安全服务》中的"如何更改用户的 RBAC 属性"。
请使用以下过程禁用服务。服务状态更改记录在服务配置系统信息库中。服务一旦被禁用,其禁用状态将持续到重新引导之后。使服务重新运行的唯一方法就是启用服务。
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
如果此服务具有所需的相关项,则无法禁用此服务。
# svcs -D FMRI
# svcadm disable FMRI
请使用以下过程启用服务。服务状态更改记录在服务配置系统信息库中。启用服务后,启用状态将在系统重新引导后保持不变,但是该服务仅在满足所有相关性时才会启动。
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
# svcadm enable FMRI
# svcs -x FMRI
如果禁用了所需的相关性,请使用以下命令启用它们:
# svcadm enable -r FMRI
示例 7-11 在单用户模式下启用服务
以下命令启用 rpcbind。-t 选项在临时模式下启动服务,此模式不会更改服务系统信息库,因此这种更改在重新引导后不会保留。-r 选项以递归方式启动指定服务的所有相关性。
# svcadm enable -rt rpc/bind
如果由于配置更改或其他原因而需要重新启动当前正在运行的服务,那么,可以重新启动该服务,而不必键入单独的命令来先停止后启动该服务。只有必须在禁用服务之后、启用服务之前更改配置时,才需要特意地先禁用服务,然后再启用。
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
# svcadm restart FMRI
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
# svcs -x FMRI
请查阅提及的日志文件或手册页来确定错误。
通常,当某个服务实例处于维护状态时,与该实例相关的所有进程均已停止。但是,您应当在继续操作之前确保这一点。以下命令将列出与某个服务实例相关的所有进程以及这些进程的 PID(进程标识符)。
# svcs -p FMRI
对于由 svcs 命令显示的所有进程重复此步骤。
# pkill -9 process-name
# svcadm clear FMRI
配置文件是一个 XML 文件,其中列出了各个 SMF 服务以及每个服务是应当处于启用状态还是禁用状态。使用配置文件,可以同时启用或禁用多个服务。配置文件还用于设置属性值、添加属性值,甚至用于创建服务和服务实例。并非所有的服务都需要列在配置文件中。每个配置文件只需包括那些为了使其有用而必须启用或禁用的服务。
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
在此示例中,svccfg 命令用于创建表示当前系统上本地定制的配置文件。或者,也可以创建现有配置文件的副本以对其进行编辑。
# svccfg extract> profile.xml
如果您具有大量相同的系统,或者您希望对系统配置进行归档以供日后恢复,则可能需要使用此过程来创建唯一版本的 SMF 配置文件。
在以下示例中,要将配置文件的名称更改为 profile。
# cat profile.xml ... <service_bundle type=`profile` name=`profile` xmIns::xi='http://www.w3.org/2003/XInclude' ...
对于每个服务,删除三个描述该服务的行。每个服务说明都以 <service 开头并以 </service 结尾。以下示例说明 LDAP 客户机服务的说明行。
# cat profile.xml ... <service name='network/ldap/client' version='1' type='service'> <instance name='default' enabled='true'/> </service>
每个服务必须使用上面所示的三行语法来进行定义。
在以下示例中,sendmail 服务处于禁用状态。
# cat profile.xml ... <service name='network/smtp' version='1' type='service'> <instance name='sendmail' enabled='false'/> </service> ...
有关说明,请参见如何应用 SMF 配置文件。
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
在此示例中,应用的是 profile.xml 配置文件。
# svccfg apply profile.xml