當時的 /root/.bashrc 內容如下面範例所示:
[root@KHCFTPS01 ~]# cat ~/.bashrc其中的 /etc/init.d/sys_chk.sh; 那一段就是用來登入後檢查系統的那個小 shell script,測試從其他機器登入或本機變更使用者為 root 後都可正常秀出機器狀態檢查的結果。本來事情到這邊就結束了,但前幾天寫好這一部份後,也用的好好的,而昨天突然發現,要 SFTP 進這些機器都沒回應了,初步以為是防火牆的問題,但查了之後,繞開防火牆直接用兩台機器對測 SFTP 看到出現下面的錯誤訊息:
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias vi='vim'
alias ls='ls --color'
TERM=xterm-color; export TERM;
alias grep='grep --color'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# Pre-health checking #
/etc/init.d/sys_chk.sh;
[root@KHCFTPS01 ~]#
[root@ns1 ~]# sftp KHCFTPS01可是用 SSH 測試卻又能正常登入,這時才想起來前幾天曾在這幾台機器上加上自動狀態檢查的 script,會不會是那個咚咚在搞鬼ㄌㄟ??於是回到機器上去修改 /root/.bashrc 把自動檢查的那一段先 mark 起來,再到 ns1 測試一次 SFTP 到我們的 FTP 機器,這次就可以成功登入了。所以果然是 /etc/init.d/sys_chk.sh 執行的東西太多,吐出太多東西到螢幕上...呵呵,既然知道問題出在哪兒了,山不轉路轉,路不轉嘛那我只好自己轉囉...回到剛才的 /root/.bashrc 中,還記得之前我們曾在 如何讓你的 Linux 色彩更豐富 中提到利用 alias 的作法來節省平常的時間,可以把一些很長的執行字串,改成好敲的短字串,這裡我們就用這種方式把 /etc/init.d/sys_chk.sh 指定給 sck 這個短字串 (sck 只是我覺得順眼的縮寫,請依個人喜好更改),改完的 /root/.bashrc 內容如下面範例所示:
Connecting to KHCFTPS01...
root@KHCFTPS01's password:
Received message too long 1044266528
[root@ns1 ~]#
[root@KHCFTPS01 ~]# cat ~/.bashrc這時候再試一次 SFTP 果然就不再出現 "Received message too long 1044266528" 的問題囉~而且平時沒事也可以隨時直接敲入 sck (前面提到過,sck 只是我覺得順眼的縮寫,請依個人喜好更改)這個指令來做個機器狀態檢查,人生又擱係彩色ㄟ囉~
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias vi='vim'
alias ls='ls --color'
alias sck='/etc/init.d/sys_chk.sh'
TERM=xterm-color; export TERM;
alias grep='grep --color'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# Pre-health checking #
sck;
[root@KHCFTPS01 ~]#
沒有留言:
張貼留言