跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:常见任务 Oracle Solaris 11 Information Library (简体中文) |
5. 使用 Oracle Configuration Manager
当 system/filesystem/local:default 服务在系统引导期间失败时,如何强制出现 sulogin 提示符
下列任务说明如何配置 SMF 服务。特别是,如何修改服务或服务实例的服务属性及其他配置信息。
此过程说明如何修改用于标识可以启动服务的用户的属性。
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
首先,指定 FMRI 来标识适当服务。然后,指定将启动该服务的 UID。
# svccfg -s FMRI svc:/service: setprop start/user = astring: newlogin
# svcadm refresh FMRI
以下过程显示如何更改不是由 inetd 服务管理的服务的配置。
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
许多服务都有一个或多个用来定义启动或其他配置信息的配置文件。这些文件可以在服务正在运行时进行更改。只有当服务已经启动后,才能检查这些文件的内容。
# 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 环境变量以帮助进行调试。
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
# svcs system/cron STATE STIME FMRI online Dec_04 svc:/system/cron:default
在本示例中,设置的是 UMEM_DEBUG 和 LD_PRELOAD 环境变量。有关 setenv 子命令的信息,请参阅 svccfg(1M) 手册页。
# svccfg -s system/cron:default setenv UMEM_DEBUG default # svccfg -s system/cron:default setenv LD_PRELOAD libumem.so
# svcadm refresh system/cron # svcadm restart system/cron
# 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
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
以下命令显示由 FMRI 标识的服务的所有属性。
# inetadm -l FMRI
由 inetd 控制的服务的每个属性都由属性名和指定的值来定义。提供属性名而不指定值会将属性重置为缺省值。有关服务属性的具体信息应包含在与该服务相关的手册页中。
# inetadm -m FMRI property-name=value
再次列出属性以确保已进行相应的更改。
# inetadm -l FMRI
确认属性更改达到了所需的效果。
示例 7-13 更改 telnet 的 tcp_trace 属性
以下示例显示如何将 telnet 的 tcp_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
此命令删除选定服务在 admin 层的所有更改。
% /usr/sbin/svccfg -s FMRI delcust
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
以下命令显示由 FMRI 标识的服务的所有属性。添加 grep 命令会将输出限制在该服务的 exec 属性。
# inetadm -l FMRI|grep exec
具有 exec 属性的 command-syntax 集定义在启动服务时运行的命令字符串。
# inetadm -m FMRI exec="command-syntax"
再次列出属性以确保已进行相应的更改。
# 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 项转换为 SMF 服务清单。无论何时向系统添加依赖 inetd 的第三方应用程序,都需要运行此过程。如果您需要更改 /etc/inetd.conf 中项的配置,也需要运行此过程。
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
inetconv 命令将选定文件中的每个项都转换为服务清单。
# inetconv -i filename
示例 7-15 将 /etc/inet/inetd.conf 项转换为 SMF 服务清单
# inetconv -i /etc/inet/inetd.conf