Solaris
如何告訴 SMF 服務確實線上?
這似乎微不足道,但我在 Solaris 10 中有一個正在執行的服務,但 SMF 認為它不是。
我可以通過停止然後啟動服務來使 SMF 具有正確的狀態,但在這種情況下,服務是 SSH,這意味著我必須在系統控制台重新啟動它。
我如何告訴 SMF,“此服務正在執行;請將其移至‘線上’狀態?”
編輯:請求有關 ssh 服務的一些資訊:
的輸出
/usr/lib/ssh/sshd -d | head -1
:debug1: sshd version Sun_SSH_1.1
的輸出
ptree
pgrep sshd``:453 /usr/lib/ssh/sshd 11456 /usr/lib/ssh/sshd 11459 /usr/lib/ssh/sshd 11461 -tcsh 20521 /usr/lib/ssh/sshd 20524 /usr/lib/ssh/sshd 20526 -tcsh 22145 ptree 11459 20521 11456 20524 453
的輸出
pargs -e
pgrep sshd``:11459: /usr/lib/ssh/sshd envp[0]: EDITOR=vi envp[1]: GROUP=wheel envp[2]: HOME=/home/philadm envp[3]: HOST=radiance envp[4]: HOSTTYPE=sun4 envp[5]: LANG=en_US.UTF-8 envp[6]: LD_LIBRARY_PATH=/opt/csw/lib/$ISALIST:/usr/local/lib:/usr/lib:/usr/dt/lib:/usr/local/ssl/lib:/usr/local/BerkeleyDB.4.2/lib envp[7]: LOGNAME=philadm envp[8]: MACHTYPE=sparc envp[9]: MAIL=/var/mail//philadm envp[10]: MANPATH=/opt/csw/share/man:/usr/local/man:/usr/man:/storage/lang/man:/usr/local/ssl/man envp[11]: OSTYPE=solaris envp[12]: PATH=/bin:/sbin:/usr/sbin:/opt/csw/bin:/usr/bin:/usr/local/bin:/usr/dt/bin:/usr/bin/nsr:/usr/sbin/nsr:/opt/hpnpl/bin:/usr/openwin/bin:/usr/sbin:/usr/bin envp[13]: PWD=/var/log envp[14]: REMOTEHOST=bastion2.example.com envp[15]: SHELL=/bin/tcsh envp[16]: SHLVL=1 envp[17]: SSH_CLIENT=192.168.1.45 45010 22 envp[18]: SSH_CONNECTION=192.168.1.45 45010 192.168.1.5 22 envp[19]: SSH_TTY=/dev/pts/2 envp[20]: TERM=xterm envp[21]: TZ=US/Eastern envp[22]: USER=philadm envp[23]: VENDOR=sun 20521: /usr/lib/ssh/sshd envp[0]: EDITOR=vi envp[1]: GROUP=wheel envp[2]: HOME=/home/philadm envp[3]: HOST=radiance envp[4]: HOSTTYPE=sun4 envp[5]: LANG=en_US.UTF-8 envp[6]: LD_LIBRARY_PATH=/opt/csw/lib/$ISALIST:/usr/local/lib:/usr/lib:/usr/dt/lib:/usr/local/ssl/lib:/usr/local/BerkeleyDB.4.2/lib envp[7]: LOGNAME=philadm envp[8]: MACHTYPE=sparc envp[9]: MAIL=/var/mail//philadm envp[10]: MANPATH=/opt/csw/share/man:/usr/local/man:/usr/man:/storage/lang/man:/usr/local/ssl/man envp[11]: OSTYPE=solaris envp[12]: PATH=/bin:/sbin:/usr/sbin:/opt/csw/bin:/usr/bin:/usr/local/bin:/usr/dt/bin:/usr/bin/nsr:/usr/sbin/nsr:/opt/hpnpl/bin:/usr/openwin/bin:/usr/sbin:/usr/bin envp[13]: PWD=/var/log envp[14]: REMOTEHOST=bastion2.example.com envp[15]: SHELL=/bin/tcsh envp[16]: SHLVL=1 envp[17]: SSH_CLIENT=192.168.1.45 45010 22 envp[18]: SSH_CONNECTION=192.168.1.45 45010 192.168.1.5 22 envp[19]: SSH_TTY=/dev/pts/2 envp[20]: TERM=xterm envp[21]: TZ=US/Eastern envp[22]: USER=philadm envp[23]: VENDOR=sun 11456: /usr/lib/ssh/sshd envp[0]: EDITOR=vi envp[1]: GROUP=wheel envp[2]: HOME=/home/philadm envp[3]: HOST=radiance envp[4]: HOSTTYPE=sun4 envp[5]: LANG=en_US.UTF-8 envp[6]: LD_LIBRARY_PATH=/opt/csw/lib/$ISALIST:/usr/local/lib:/usr/lib:/usr/dt/lib:/usr/local/ssl/lib:/usr/local/BerkeleyDB.4.2/lib envp[7]: LOGNAME=philadm envp[8]: MACHTYPE=sparc envp[9]: MAIL=/var/mail//philadm envp[10]: MANPATH=/opt/csw/share/man:/usr/local/man:/usr/man:/storage/lang/man:/usr/local/ssl/man envp[11]: OSTYPE=solaris envp[12]: PATH=/bin:/sbin:/usr/sbin:/opt/csw/bin:/usr/bin:/usr/local/bin:/usr/dt/bin:/usr/bin/nsr:/usr/sbin/nsr:/opt/hpnpl/bin:/usr/openwin/bin:/usr/sbin:/usr/bin envp[13]: PWD=/var/log envp[14]: REMOTEHOST=bastion2.example.com envp[15]: SHELL=/bin/tcsh envp[16]: SHLVL=1 envp[17]: SSH_CLIENT=192.168.1.45 45010 22 envp[18]: SSH_CONNECTION=192.168.1.45 45010 192.168.1.5 22 envp[19]: SSH_TTY=/dev/pts/2 envp[20]: TERM=xterm envp[21]: TZ=US/Eastern envp[22]: USER=philadm envp[23]: VENDOR=sun 20524: /usr/lib/ssh/sshd envp[0]: EDITOR=vi envp[1]: GROUP=philadm envp[2]: HOME=/home/philadm envp[3]: HOST=radiance envp[4]: HOSTTYPE=sun4 envp[5]: LANG=en_US.UTF-8 envp[6]: LD_LIBRARY_PATH=/opt/csw/lib/$ISALIST:/usr/local/lib:/usr/lib:/usr/dt/lib:/usr/local/ssl/lib:/usr/local/BerkeleyDB.4.2/lib envp[7]: LOGNAME=philadm envp[8]: MACHTYPE=sparc envp[9]: MAIL=/var/mail//philadm envp[10]: MANPATH=/opt/csw/share/man:/usr/local/man:/usr/man:/storage/lang/man:/usr/local/ssl/man envp[11]: OSTYPE=solaris envp[12]: PATH=/bin:/sbin:/usr/sbin:/opt/csw/bin:/usr/bin:/usr/local/bin:/usr/dt/bin:/usr/bin/nsr:/usr/sbin/nsr:/opt/hpnpl/bin:/usr/openwin/bin:/usr/sbin:/usr/bin envp[13]: PWD=/var/log envp[14]: REMOTEHOST=bastion2.example.com envp[15]: SHELL=/bin/tcsh envp[16]: SHLVL=1 envp[17]: SSH_CLIENT=192.168.1.45 45010 22 envp[18]: SSH_CONNECTION=192.168.1.45 45010 192.168.1.5 22 envp[19]: SSH_TTY=/dev/pts/2 envp[20]: TERM=xterm envp[21]: TZ=US/Eastern envp[22]: USER=steveadm envp[23]: VENDOR=sun 453: /usr/lib/ssh/sshd envp[0]: EDITOR=vi envp[1]: GROUP=wheel envp[2]: HOME=/home/philadm envp[3]: HOST=radiance envp[4]: HOSTTYPE=sun4 envp[5]: LANG=en_US.UTF-8 envp[6]: LD_LIBRARY_PATH=/opt/csw/lib/$ISALIST:/usr/local/lib:/usr/lib:/usr/dt/lib:/usr/local/ssl/lib:/usr/local/BerkeleyDB.4.2/lib envp[7]: LOGNAME=philadm envp[8]: MACHTYPE=sparc envp[9]: MAIL=/var/mail//philadm envp[10]: MANPATH=/opt/csw/share/man:/usr/local/man:/usr/man:/storage/lang/man:/usr/local/ssl/man envp[11]: OSTYPE=solaris envp[12]: PATH=/bin:/sbin:/usr/sbin:/opt/csw/bin:/usr/bin:/usr/local/bin:/usr/dt/bin:/usr/bin/nsr:/usr/sbin/nsr:/opt/hpnpl/bin:/usr/openwin/bin:/usr/sbin:/usr/bin envp[13]: PWD=/var/log envp[14]: REMOTEHOST=cbastion2.example.com envp[15]: SHELL=/bin/tcsh envp[16]: SHLVL=1 envp[17]: SSH_CLIENT=192.168.1.45 45010 22 envp[18]: SSH_CONNECTION=192.168.1.45 45010 192.168.1.5 22 envp[19]: SSH_TTY=/dev/pts/2 envp[20]: TERM=xterm envp[21]: TZ=US/Eastern envp[22]: USER=philadm envp[23]: VENDOR=sun
如果您的服務處於維護模式,您可能只需要執行:
svcadm clear service
也許:
svcadm refresh service
如果服務被報告為離線但實際上可用,您應該進一步調查以了解為什麼 smf 不這麼認為。首先查看服務日誌(查看以下命令輸出以了解它們的位置):
svcs -xv service
編輯:問題是
sshd
正在執行的主要(pid 453)不是由 smf 而是由 philadm 啟動的,更不用說不受支持的環境了。在任何情況下,smf 都不能“採用”這個 sshd。你可能會直接殺死它(kill 453
)並且 smf 應該能夠啟動 ssh 服務。目前的兩個 ssh 連接都不應受到此終止的影響。