2010年12月5日 星期日

Network Configyration and Troubleshooting(一)

類別 : [TMLDP] [Sysyem Administration] [Advance]

1. 何謂 FQHN (Fully Qualified Hostname) 
     
     FQHN Fully Qualified Hostname 的縮寫,指用來辨別網際網路上特定主機的識別方式,例如 FQDN 或是 IP 都是FQHN

 2. 何謂 FQDN (Fully Qualified Domain Name)
     
    FQDN Fully Qualified Domain Name 的縮寫,所謂的FQDN 是由主機名稱和網域名稱兩項資訊所組成,用以表示在網際網路中特定主機的完整名稱。

   以『lab.mpsstudio.org.為例,「lab」是主機名稱,而「mpsstudio.org」就是網域名稱,另外要特別注意的是,在FQDN 的最後會有一個『.』。

    

2010年12月3日 星期五

忘記 root 密碼怎麼辦?(For RedHat 系列發行版,方法一)

類別 : [TMLDP] [System Administration] [Troubleshooting]


主題 :  root 密碼忘記

適用發行版 : RedHat 系列發行版 ( RHEL、CentOS、Fedora...)

LAB 環境 : CentOS 5.5

要解決這個問題你需要知道,

     1.如何在啟動時修改核心啟動參數,使能在啟動後直接以單人模式登入作業系統。

     2.如何重設使用者密碼。


說明:

     如果忘記了root 密碼或是接管到一台不知道 root 的主機要怎麼辦呢?

     不管使用的是那一種 Linux 發行版,首先要能直接從本機登入,如果不能從本機登入那就無解了。

    另外,不同的發行版可能處理的方法會不一樣 ,方法也可能不只一種。

     這邊介紹的解法適用於 RedHat 系列的發行版(RHEL、CentOS、Fedora...)。

操作程序 :

STEP 1. 當看到畫面左上角出現『Pass any key to enter the menu』時,輸入任意鍵進到開機選單畫面。


STEP 2. 選取要使用的核心,輸入'e' 進入下一頁


STEP 3. 移到第二行,輸入'e' 進入核心啟動參數修改畫面


STEP 4.  在最後面加上『1 』 或『single』,[Enter] 後回到核心啟動參數修改畫面。


STEP 5.  輸入 'b' 進到開機程序


STEP 6.  核心啟動參數會多了剛剛所輸入的『1 』 或『single』,開機完畢後會直接以root 身分免密碼登入系統



STEP 7. 使用 passwd 命令重設 root 密碼


STEP 8. 重啟系統或直接切換 runlevel 進行後續作業

2010年7月28日 星期三

查詢Linux 的發行版資訊

雖然不同的Linux 發行版操作起來大同小異,但是還是各有其特色,也多少有其專用工具,
如果猛然使用TUI管理一台不確定是哪種Linux 發行版的主機也是蠻困擾的,
這時可以使用 "lsb-release -a"來查詢發行版資訊。

2010年3月4日 星期四

如何讓 VNC Server 於系統啟動時自動執行

如果要讓 VNC Service 於系統啟動時自動執行該怎麼做呢?


方法不少,例如修改VNC Service 的服務運作管理命令稿(啟動命令稿)內容就是常見的一種。

如果可以用拋參數給命令稿的方式來達成目的,我大概就會用這個方法,不過習慣上我不喜歡去動非"設定檔"的內容,所以最近實作所使用的方法是透過修改系統啟動服務初始設定檔來達成這個目的。

適用發行版 : CentOS、RHEL (我想泛 RedHat 發行版應該都可以)


STEP 1. 設定所使用的 display 及帳號

a.開啟 /etc/sysconfig/vncserver


b.找到下列兩行
#VNCSERVERS="2:myusername"
#VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"

c.註解拿掉並修改成
VNCSERVERS="1:vnc登入帳號"
VNCSERVERARGS[1]="-geometry 800x600 "

※ vnc登入帳號 : 要是一個系統實際存在的帳號,用來登入VNC Service。
※ vnc登入帳號可以使用 root 嗎? 當然可以!!! 不要命的話.....


STEP 2. 設定登入 VNC Service 所啟動的 X Window Manager

預設值是twn,如果嫌twn太陽春,就依下列方式修改使登入後依登入帳號的 X Window Manager 設定值啟動 X Window Manager.....

有點繞口...

總之,如果崇尚極簡風,不覺得介面難看、單調,這一步就跳過,不然就照著做。


a. 開啟登入帳號家目錄裡面的 .vnc/xstartup

b.找到下列兩行
#unset SESSION_MANAGER
#exec /etc/X11/xinit/xinitrc

c.註解符號拿掉,同時把~/.vnc/xstartup 中其他內容全部註解

STEP 3. 設定 VNC 登入帳號的 VNC 登入密碼

 VNC 登入帳號的 VNC 登入密碼是VNC 登入密碼,VNC 登入帳號的系統登入密碼是系統登入密碼,是兩碼子事。


a.使用 su 切換身分為 VNC 登入帳號

b. 使用 vncpasswd 設定 VNC 登入密碼

STEP 4. 變更 VNC Service 的服務啟動層級設定

a. chkconfig vncserver on

STEP 5. 重啟系統使生效

由於實作時是所使用的 display 設定為 "1",所以 VNC Client 進行連線時要指定連線埠號為 "5901"。

2010年2月10日 星期三

只知道檔案部分內容,但不知道檔名也不知道這個檔案在哪裡要怎麼找到這個檔案?

        如果只知道想要搜尋的檔案中有一個特定字串 "Linux",但檔案名稱完全不記得也不知道這個檔案在哪裡,那要如何才能找到它呢?

        基本上要進行檔案全文比對一樣還是使用 grep 這個工具,由於不知道檔案所在位置,所以需要進行全檔案系統搜尋因此要加上「-r」,如果只想列出檔案名稱可以再加上「-l」這個選項,如此就能進行全檔案系統的含有特定字串檔案的搜尋。

 ==> grep -lr  <比對字串>  /*

2010年1月1日 星期五

安裝 PeerGuardian For Linux

a. 說明:

   PeerGuardian 是一套用來輔助防火牆的程式,裝在動物機上可以用來阻擋惡意 IP 的連線請求,透過黑名單機制也可以用來阻擋某些單位對於 P2P 程式的監控。
   
※一年多前的筆記,忘記參考資料來自哪個網站了....QQ

b.實作環境 :

   OS : Ubuntu 7.04
   CPU : Intel Celeron CPU 2.40GHz
   RAM : 3G

c.載點 : http://sourceforge.net/project/showfiles.php?group_id=131687&package_id=148849

d.安裝:

   $ sudo dpkg -i peerguardnf-1.5beta.i386.deb

e.建立設定檔目錄 :

   $ sudo mkdir /etc/peerguardian

f.建立啟動 Script :


   $sudo touch /usr/local/bin/peerguardian.sh
   $sudo chmod 750 /usr/local/bin/peerguardian.sh

g.peerguardian.sh 內容
=======================================
# version for bluetack.co.uk lists!
#!/bin/sh
# Update new blocklists and start/stop/restart PeerGuardian
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# testdescription
#
#CONFIGURATION
# Make sure PG_ETC points to the directory where
# you want to put your downloaded blocklists.
PG_ETC=/etc/peerguardian/
# Remove the lists you don't want to download and
# use from BLOCKLISTS.
BLOCKLISTS="level1"
PG_CONF=/etc/PG.conf
PG_LOG=/var/log/PG.log
PG_LIST=/etc/p2p.p2b.p2p
#The URL where the blocklists reside
URL=http://www.bluetack.co.uk/config
#The format of the lists to download
SUFFIX=gz
#The format after unpacking
SUFFIX2=txt

endscript () {
date +"------------ "%F" "%X" "%Z" End PeerGuardian Script"
exit $1
}
date +"------------ "%F" "%X" "%Z" Begin PeerGuardian $1"


case "$1" in
'start')
    cd "$PG_ETC"
    # check if blockfiles were updated:
    UPDATED=""
    for i in $BLOCKLISTS ; do
    TIMESTAMP=0
    if [ -e $i.$SUFFIX ] ; then
    TIMESTAMP=`stat --format=%y $i.$SUFFIX`
    echo "File $i.$SUFFIX last updated $TIMESTAMP"
    TIMESTAMP=`stat --format=%Y $i.$SUFFIX`
    fi
    wget -N $URL/$i.$SUFFIX
    if [ `stat --format=%Y $i.$SUFFIX` -gt $TIMESTAMP ] ; then
    UPDATED=$i
    fi
    done
  
    # if none of the blockfiles were updated:
    if [ -z $UPDATED ] ; then
    echo "No blocklists needed updating."
    echo "Starting PeerGuardian"
    mv $PG_LOG $PG_LOG.backup
    peerguardnf -h -m -d -c "$PG_CONF" -l "$PG_LOG"
    endscript 0
    fi
  
    # if any blockfiles were updated:
    for i in $BLOCKLISTS ; do
    gunzip -c $i.$SUFFIX > $i.$SUFFIX2
    BLOCKLISTSCAT="$BLOCKLISTSCAT $i.$SUFFIX2"
    done
    cat $BLOCKLISTSCAT | peerguardnf -f merged.p2b.p2p
    for i in $BLOCKLISTS ; do
    rm $i.$SUFFIX2
    done
    # uncomment below to unblock Yahoo! Mail and whatever
    # else needs unblocking here. Do this also in the
    # restart section.
    grep -v -i "yahoo\!" merged.p2b.p2p | grep -v -i "Microsoft" | grep -v "Google" > merged.p2b.p2p.tmp
    mv merged.p2b.p2p.tmp merged.p2b.p2p
    mv $PG_LIST $PG_LIST.backup
    mv merged.p2b.p2p $PG_LIST
    mv $PG_LOG $PG_LOG.backup
    echo "Starting PeerGuardian"
    peerguardnf -h -m -d -c "$PG_CONF" -l "$PG_LOG"
    endscript 0
    ;;

'stop')
    echo "Stopping PeerGuardian"
    killall peerguardnf > /dev/null 2>&1
    endscript 0
    ;;

'restart')
    cd "$PG_ETC"
    # check if blockfiles were updated:
    UPDATED=""
    for i in $BLOCKLISTS ; do
    TIMESTAMP=0
    if [ -e $i.$SUFFIX ] ; then
    TIMESTAMP=`stat --format=%y $i.$SUFFIX`
    echo "File $i.$SUFFIX last updated $TIMESTAMP"
    TIMESTAMP=`stat --format=%Y $i.$SUFFIX`
    fi
    wget -N $URL/$i.$SUFFIX
    if [ `stat --format=%Y $i.$SUFFIX` -gt $TIMESTAMP ] ; then
    UPDATED=$i
    fi
    done
  
    # if none of the blockfiles were updated:
    if [ -z $UPDATED ] ; then
    echo "No blocklists needed updating."
    echo "Stopping PeerGuardian"
    killall peerguardnf > /dev/null 2>&1
    mv $PG_LOG $PG_LOG.backup
    sleep 4
    echo "Starting PeerGuardian"
    peerguardnf -h -m -d -c "$PG_CONF" -l "$PG_LOG"
    endscript 0
    fi
  
    # if any blockfiles were updated:
    for i in $BLOCKLISTS ; do
    gunzip -c $i.$SUFFIX > $i.$SUFFIX2
    BLOCKLISTSCAT="$BLOCKLISTSCAT $i.$SUFFIX2"
    done
    cat $BLOCKLISTSCAT | peerguardnf -f merged.p2b.p2p
    for i in $BLOCKLISTS ; do
    rm $i.$SUFFIX2
    done
    # uncomment below to unblock Yahoo! Mail and whatever
    # else needs unblocking here. Do this also in the
    # restart section.
    grep -v -i "yahoo\!" merged.p2b.p2p | grep -v -i "Microsoft" | grep -v "Google" > merged.p2b.p2p.tmp
    mv merged.p2b.p2p.tmp merged.p2b.p2p
    echo "Stopping PeerGuardian"
    killall peerguardnf > /dev/null 2>&1
    mv $PG_LIST $PG_LIST.backup
    mv merged.p2b.p2p $PG_LIST
    mv $PG_LOG $PG_LOG.backup
    sleep 4
    echo "Starting PeerGuardian"
    peerguardnf -h -m -d -c "$PG_CONF" -l "$PG_LOG"
    endscript 0
    ;;

*)
    echo "Usage: $0 { start | stop | restart }"
    ;;
esac
exit 0
========================

h.啟動 :  $ sudo peerguardian.sh start
  重新啟動 : $ sudo peerguardian.sh restart
  停止 : $ sudo peerguardian.sh stop

i . 服務啟動層級設定

    當系統進入Runlevel 2、3、4、5 啟動 peerguardian

    $ ln -s /usr/local/bin/peerguardian.sh /etc/init.d/peerguardian.sh
    $ ln -s /etc/init.d/peerguardian.sh /etc/rc0.d/K20peerguardian.sh
    $ ln -s /etc/init.d/peerguardian.sh /etc/rc2.d/S95peerguardian.sh
    $ ln -s /etc/init.d/peerguardian.sh /etc/rc3.d/S95peerguardian.sh
    $ ln -s /etc/init.d/peerguardian.sh /etc/rc4.d/S95peerguardian.sh
    $ ln -s /etc/init.d/peerguardian.sh /etc/rc5.d/S95peerguardian.sh
    $ ln -s /etc/init.d/peerguardian.sh /etc/rc6.d/K20peerguardian.sh
===================================

j.建立自動更新機制


   $ touch /etc/cron.daily/pg.sh
   $ sudo chmod 750 /etc/cron.daily/pg.sh

k. pg.sh 的內容如下:
==========================
#!/bin/sh

/usr/local/bin/peerguardian.sh restart
================================


l.PeerGuardian的Log 檔位置在 :  /var/log/PG.log

01.1.1.監控.網路.iftop

01.1.1.監控.網路.iftop

        iftop是一套用來即時監控網路介面頻寬使用狀態的網路監控工具。

01.1.1.1.安裝

     實作環境
         a.OS : CentOS 5.4 @ VitrualBox 3.1.2r56127
         b.硬體 :
             1.CPU : Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz
             2.RAM : 1G

     a.iftop官方網站 : http://www.ex-parrot.com/~pdw/iftop/

     b.安裝需求 : 依官方網站的說明,安裝此套件系統需已安裝下列兩函式,







  • libcurses
    libpcap







     c.下載套件 :

    


 






Powered By Blogger