以下过程显示如何更改不是由 inetd 服务管理的服务的配置。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
根据需要对配置文件进行更改。
许多服务都有一个或多个用来定义启动或其他配置信息的配置文件。这些文件可以在服务正在运行时进行更改。只有当服务已经启动后,才能检查这些文件的内容。
重新启动服务。
# svcadm restart FMRI |
要使用 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 环境变量以帮助进行调试。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
检验该服务是否正在运行。
# 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 # |
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
列出指定服务的属性。
以下命令显示由 FMRI 标识的服务的所有属性。
# inetadm -l FMRI |
更改该服务的属性。
由 inetd 控制的服务的每个属性都由属性名和指定的值来定义。提供属性名而不指定值会将属性重置为缺省值。有关服务属性的具体信息应包含在与该服务相关的手册页中。
# inetadm -m FMRI property-name=value |
检验属性是否已更改。
再次列出属性以确保已进行相应的更改。
# inetadm -l FMRI |
确认更改已生效。
确认属性更改达到了所需的效果。
以下示例显示如何将 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 |
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
列出特定服务的 exec 属性。
以下命令显示由 FMRI 标识的服务的所有属性。添加 grep 命令会将输出限制在该服务的 exec 属性。
# inetadm -l FMRI|grep exec |
更改该服务的 exec 属性。
具有 exec 属性的 command-syntax 集定义在启动服务时运行的命令字符串。
# inetadm -m FMRI exec="command-syntax " |
检验属性是否已更改。
再次列出属性以确保已进行相应的更改。
# inetadm -l FMRI |
在以下示例中,当 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 中项的配置,也需要运行此过程。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
转换 inetd.conf 项。
inetconv 命令将选定文件中的每个项都转换为服务清单。
# inetconv -i filename |
# inetconv -i /etc/inet/inetd.conf |