我正在尝试关闭 Solaris 服务器上的一些 RPC 服务。我遇到一些问题。
主机=服务器
需要禁用两个rpc服务:
RPC 日历服务 cmsd 可用 (rpc.cmsd) 和 RPC snmpxdmid
RPC Calendar Service cmsd Available (rpc.cmsd)
root@SERVER # rpcinfo -p | grep 100068
100068 2 udp 32777
100068 3 udp 32777
100068 4 udp 32777
100068 5 udp 32777
100068 2 tcp 45108
100068 3 tcp 45108
100068 4 tcp 45108
100068 5 tcp 45108
root@SERVER # svcs -a|grep -i cal
legacy_run 2012 lrc:/etc/rc2_d/S94ncalogd
online 2012 svc:/network/physical:default
online 2012 svc:/system/device/local:default
online 2012 svc:/network/ipsec/ipsecalgs:default
online 2012 svc:/system/filesystem/local:default
online 2012 svc:/application/graphical-login/cde-login:default
online 2015 svc:/network/rpc/cde-calendar-manager:default
root@SERVER # ps -ef|grep rpc
daemon 368 1 0 Nov 06 ? 0:01 /usr/sbin/rpcbind
daemon 5494 5488 0 Dec 11 ? 0:00 /usr/dt/bin/rpc.cmsd
root 2652 2647 0 Dec 11 ? 0:00 /usr/openwin/bin/rpc.ttdbserverd
root 2647 405 0 Dec 11 ? 0:00 /bin/sh /lib/svc/method/rpc-ttdbserverd
root 5488 405 0 Dec 11 ? 0:00 /bin/sh /lib/svc/method/rpc-cmsd
root 5485 405 0 Dec 11 ? 0:00 /usr/lib/netsvc/rstat/rpc.rstatd
root 11260 9261 0 18:21:48 pts/1 0:00 grep rpc
root@SERVER #
root@SERVER # netstat -na|grep 32777
*.32777 Idle
root@SERVER # netstat -na|grep 45108
*.45108 *.* 0 0 49152 0 LISTEN
root@SERVER #
RPC snmpxdmid
root@SERVER # rpcinfo -p | grep 100249
100249 1 udp 32785
100249 1 tcp 32777
root@SERVER # svcs -a|grep snmp
disabled 21:47:13 svc:/application/management/snmpdx:default
root@SERVER # ps -ef| grep -i snmpdx
root 11007 9261 0 18:21:30 pts/1 0:00 grep -i snmpdx
root@SERVER #
root@SERVER # netstat -na|grep 32777
*.32777 Idle
root@SERVER # netstat -na|grep 32785
root@SERVER #
(对于 snmpxdmid),该进程首先运行,因此我禁用了该服务,然后进程消失了,“rpcinfo -p”中的列表也消失了,但现在它又回来了(请参阅 netstat 中的开放端口)。我怎样才能永久禁用并停止它???
=========================
对于这两个 rpc 服务,我在 /etc/inetd.conf 中没有看到任何条目,如何禁用和停止它们?
root@SERVER # grep -i rpc /etc/inetd.conf
100235/1 tli rpc/ticotsord wait root /usr/lib/fs/cachefs/cachefsd cachefsd
root@SERVER #
root@SERVER # uname -a
SunOS SERVER 5.10 Generic_147441-09 i86pc i386 i86pc
谢谢。
答案1
我有兴趣查看 5488 的 ptree,以验证 inetd/SMF 是否正在启动本svcadm disable
应停止服务的进程。很可能 SMF 确实启动了它,因为正在调用 svc 方法。我的想法是,也许遗留启动脚本正在启动它。
记得一些较旧的 Solaris 更新版本最初仍然有从旧运行级别启动的服务;后来的补丁开始将内容转移到 SMF,但并不总是清除旧的启动/停止脚本。可能是补丁问题?
您查看过 /var/svc/log 中的服务日志吗?现有的服务是否存在问题? svcs -xv
我还很好奇为什么日历服务在 12 月 11 日启动,即在 11 月 6 日 rpc 服务启动日期之后。那么也许 SMF 阻止了它,但其他东西或某人重新生成了它?
似乎没有专门的日历包可供删除,但您始终可以锁定或直接删除二进制文件。