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의 열린 포트 참조). 영구적으로 비활성화하고 중지하려면 어떻게 해야 합니까? ? ?
=========================
/etc/inetd.conf에 이 두 rpc 서비스에 대한 항목이 표시되지 않습니다. 어떻게 비활성화하고 중지합니까?
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
svcadm disable
inetd/SMF가 서비스가 중단되어야 하는 프로세스를 시작하는지 확인하기 위해 5488의 ptree를 살펴보고 싶습니다 . svc 메소드가 호출되기 때문에 SMF가 이를 시작했을 가능성이 높습니다. 내 생각에는 레거시 시작 스크립트가 시작될 수도 있습니다.
일부 이전 Solaris 업데이트에는 초기에 여전히 이전 런레벨에서 서비스가 시작되었지만 이후 패치에서는 항목을 SMF로 이동하기 시작했지만 이전 시작/중지 스크립트가 항상 삭제되지는 않았습니다. 아마도 패치 문제일까요?
/var/svc/log에서 서비스 로그를 확인하셨나요? 기존 서비스에 문제가 있나요? svcs -xv
RPC 서비스 시작일인 11월 6일 이후인 12월 11일에 캘린더 서비스가 시작되는 이유도 궁금합니다. 그렇다면 SMF가 이를 차단했지만 무언가 또는 누군가가 이를 재생성했을 수도 있습니다.
제거할 전용 캘린더 패키지는 없는 것 같지만 언제든지 바이너리를 잠그거나 간단히 삭제할 수 있습니다.