<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    搬磚頭

    Knocking on Heaven's Door
    posts - 34, comments - 6, trackbacks - 0, articles - 0

    history|grep halt
    cat .bash_history|grep halt

    不同的系統(tǒng)history文件是不一樣的,
    一般是$HOME目錄下

    查找find / -name "*history"
    主要是root及oracle下的

    Redhat的root
    /root/.bash_history

    /var/log下呀
    查看wtmp文件
    who wtmp.n

    posted @ 2008-04-24 14:26 生活在別處 閱讀(143) | 評(píng)論 (0)編輯 收藏

    一、一些重要的概念(關(guān)于Linux系統(tǒng)的一些重要特性)
        由于我們用Windows太多,我就感覺(jué)我自己除了會(huì)點(diǎn)鼠標(biāo)之外對(duì)于Windows系統(tǒng)沒(méi)有太多的了解,甚至沒(méi)有Linux多.
        1、文件系統(tǒng)結(jié)構(gòu)
        2、文件類型
           一切都是文件,包括普通文件、設(shè)備文件、目錄等等
        3、運(yùn)行級(jí)別
           Linux有6個(gè)運(yùn)行級(jí)別
        4、管道
        5、重定向
        6、交換分區(qū)
        7、根目錄下各個(gè)目錄的意義
    二、文本編輯
        1、vi的用法
    三、常用的命令
        1、基本
        包括:cd   clear  alias  unalias  date  ls  pwd  man exit  echo
        2、文件管理
        包括:cat  more  rm  head  tail  grep  cp  mv  wc find
        3、目錄管理
        包括:mkdir  rmdir  rm  find  file  du  df
        4、權(quán)限命令
           如何設(shè)定我們用戶和文件以及系統(tǒng)的權(quán)限。
           包括:chmod  chown  chgrp umask
        5、系統(tǒng)命令
           包括:mount  umount  uname  free  env
                 uptime  setup  xinetd  top  kill  關(guān)機(jī)命令
        5、常用的網(wǎng)絡(luò)命令
           關(guān)于網(wǎng)絡(luò)管理以及使用的一些命令
    四、安裝與卸載(限于Redhat以及相似系統(tǒng))
         1、RPM命令
         2、Oracle9i安裝卸載以及基本管理
    五、相關(guān)工具的命令
        1、FTP
        2、Telnet
    六、常見的系統(tǒng)設(shè)置
        1、運(yùn)行級(jí)別
        2、共享(NFS)
        3、修改Swap
        4、設(shè)定系統(tǒng)環(huán)境變量(JDK安裝)
        5、系統(tǒng)備份(打包、壓縮以及解壓縮)
        6、常見的標(biāo)志(權(quán)限:r w x s t 標(biāo)志:l b c d)
    七、Shell編程
        1、Shell變量和參數(shù)
        2、環(huán)境變量
        3、位置參數(shù)
        4、運(yùn)算符
        5、常用語(yǔ)句
        6、函數(shù)
        7、控制
        8、運(yùn)行方式
    八、Linux安裝
    九、Crontab簡(jiǎn)單應(yīng)用

    以前的存檔,源未知

    posted @ 2008-02-21 14:24 生活在別處 閱讀(303) | 評(píng)論 (0)編輯 收藏


    1) 重啟后生效
    開啟: chkconfig iptables on
    關(guān)閉: chkconfig iptables off

    2) 即時(shí)生效,重啟后失效
    開啟: service iptables start
    關(guān)閉: service iptables stop

    需要說(shuō)明的是對(duì)于Linux下的其它服務(wù)都可以用以上命令執(zhí)行開啟和關(guān)閉操作。

    在開啟了防火墻時(shí),做如下設(shè)置,開啟相關(guān)端口,
    修改/etc/sysconfig/iptables 文件,添加以下內(nèi)容:
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9000 -j ACCEPT

    posted @ 2008-02-21 14:22 生活在別處 閱讀(852) | 評(píng)論 (0)編輯 收藏

    碰到了問(wèn)題,找到了解決,存檔一下
    關(guān)鍵字: jdk 字符集 linux
    原因:首先,JFreeChart和中文驗(yàn)證碼的亂碼問(wèn)題和jsp的編碼無(wú)關(guān),是由于Java虛擬機(jī)找不到字體文件造成的,所以同類的Swing或者AWT的中文亂碼問(wèn)題也適用

    環(huán)境:
    JDK1.5(JDK版本很重要,如果是1.4.2版本的話,JRE目錄下的字體配置文件不大一樣)
    RedHat4.0
    Tomcat5.0

    解決方法:
    1.確認(rèn)%JavaHome%/jre/lib/fonts目錄下存在zysong.ttf
    2.在%JavaHome%/jre/lib/fonts目錄下執(zhí)行"ttmkfdir -o fonts.dir"命令,重新生成fonts.dir文件
    3.確認(rèn)/usr/share/fonts/zh_CN/TrueType目錄存在,如果不存在則mkdir創(chuàng)建
    4.確認(rèn)/usr/share/fonts/zh_CN/TrueType目錄下存在zysong.ttf
    5.在%JavaHome%/jre/lib目錄下,執(zhí)行 cp fontconfig.RedHat.3.properties.src fontconfig.properties
    6.重新啟動(dòng)tomcat,大功告成!

    需要下載zysong.ttf

    posted @ 2008-02-21 14:19 生活在別處 閱讀(702) | 評(píng)論 (0)編輯 收藏

  • Ctrl + Shift + T:打開類型:顯示"打開類型"對(duì)話框來(lái)在編輯器中打開類型。"打開類型"選擇對(duì)話框顯示工作空間中存在的所有類型如類、接口等
  • Ctrl + Shift + R:打開資源:打開"打開資源"對(duì)話框以打開工作空間中的任何資源。在Package Explorer中不必瀏覽文件便可快速打開任意一個(gè)文件。使用這個(gè)快捷鍵可以打開一個(gè)對(duì)話框,在里面輸入你想查找的文件或者通配符既可。
  • Ctrl + O: 快速大綱:打開當(dāng)前所選類型的輕量級(jí)大綱圖。在一個(gè)文件中直接打開一個(gè)成員變量(如字段、方法),尤其是有許多類似的方法名的時(shí)候這個(gè)快捷鍵將變得非常有用。
  • Ctrl + L, 輸入行數(shù): 轉(zhuǎn)至行:打開一個(gè)對(duì)話框,允許您輸入編輯器應(yīng)該跳至的行號(hào)。僅適用于編輯器。輸入行號(hào),可以快速跳轉(zhuǎn)到源文件中的第N行,
  • Ctrl + Q:上一個(gè)編輯位置:顯示上一個(gè)編輯操作的發(fā)生位置,返回到最近的修改位置。即使你查看不同的文件時(shí),你也可以使用該快捷鍵來(lái)找到你最近對(duì)文件的修改位置。尤其是在文件比較大時(shí),顯得更為有用。
  • Ctrl + T: 快速類型層次結(jié)構(gòu):打開當(dāng)前選擇的類型的輕量級(jí)層次結(jié)構(gòu)查看器,可以實(shí)現(xiàn)快速轉(zhuǎn)到一個(gè)supertype或者subtype.
  • Ctrl + E:快速跳轉(zhuǎn)到另外一個(gè)編輯器。注意Ctrl + F6也可以實(shí)現(xiàn)這個(gè)功能,在使用的時(shí)候可以注意一下他們的異同。
  • Ctrl + ./Ctrl +,:在一個(gè)文件中快速定位到一個(gè)問(wèn)題(如錯(cuò)誤、警告等)
  • Alt + and Alt + :來(lái)回跳轉(zhuǎn)至你所查閱的文件
  • F3: 快速轉(zhuǎn)到一個(gè)類型聲明。同時(shí)也可以按住ctrl健并點(diǎn)擊該超鏈接變量或者類或者你想查看的任何聲明都可以。

  • 更多
    ctrl+space
    alt+上下箭頭
    ctrl+alt+上下箭頭
    ctrl|+/
    ctrl+d

    posted @ 2007-11-02 17:01 生活在別處 閱讀(310) | 評(píng)論 (0)編輯 收藏

    以前碰到過(guò),要tomcat開機(jī)啟動(dòng)的問(wèn)題,后來(lái)用root用戶啟,但是風(fēng)險(xiǎn)很大
    這次碰巧看到了解決辦法,趕緊收了下來(lái)
    原帖名字:ubuntu7.04 安裝tomcat6
    來(lái)源:http://tristonxu.spaces.live.com/blog/cns!6C727D52D9679258!382.entry

    終于搞定了,如果僅僅安裝tomcat,那是很容易的,問(wèn)題是如何讓他隨ubuntu啟動(dòng)運(yùn)行,這才是問(wèn)題的關(guān)鍵!現(xiàn)在終于搞定了,唉...俺還是比較笨,居然用了兩天的時(shí)間才解決,而且問(wèn)題解決之后,才發(fā)現(xiàn)之前原來(lái)一直是在成功的門前徘徊。想想,人生何嘗不是這樣,有多少人用一輩子的時(shí)光在成功的門前晃蕩...
    呵呵~還是趕緊把它記錄下來(lái)吧,年紀(jì)大了阿...

    一、安裝之前
    1、下載tomcat
    最新的tomcat是apache-tomcat-6.0.13.tar.gz,下載地址是:http://tomcat.apache.org/download-60.cgi

    安裝之前要先安張jdk,最好選擇JDK5.0以上版本吧。

    二、安裝ing
    1、解壓apache-tomcat-6.0.13.tar.gz到安裝目錄下。
    根據(jù)俺的實(shí)際情況,我把tmcat安裝在/opt目錄下
    shell>sudo tar zxvf apache-tomcat-6.0.13.tar.gz /opt
    解壓之后,會(huì)在/opt下生成一個(gè)apache-tomcat-6.0.13文件夾

    2、在/usr/local下建立一個(gè)軟鏈接
    shell>cd /usr/local
    shell>sudo ln -s /opt/apache-tomcat-6.0.13 tomcat6

    3、測(cè)試安裝
    運(yùn)行啟動(dòng)腳本,測(cè)試tomcat是否安裝成功
    shell>sudo /usr/local/tomcat6/bin/startup.sh
    然后打開FF,用http://localhost:8080 訪問(wèn)tomcat。一般來(lái)講,會(huì)成功的。呵呵~

    三、讓tomcat開機(jī)啟動(dòng)
    根據(jù)apache網(wǎng)站的Document說(shuō)明(這個(gè)說(shuō)明也寫得很差,嗚嗚!),要是tomcat作為一個(gè)守護(hù)程序運(yùn)行,需要用到j(luò)svc工具。(這個(gè)工具是啥玩意,俺也不懂,懶得研究,居然tomcat自帶,那就最好了)
    1、準(zhǔn)備工作
    Tomcat安裝后,如果讓Tomcat用root身份啟動(dòng),Tomcat將會(huì)擁用root權(quán)限,這將可能給系統(tǒng)帶來(lái)安全隱患,黑客可能利用這個(gè)來(lái)攻擊我們的系統(tǒng),所以我們得添加一個(gè)獨(dú)立運(yùn)行此服務(wù)的用戶,用下面的命令:

    shell>sudo useradd -d /usr/local/tomcat6 -s /usr/sbin/nologin tomcat
    以上命令為系統(tǒng)增加一個(gè)tomcat用戶,并且設(shè)置為nologin

    設(shè)置用戶tomcat5對(duì)tomcat的權(quán)限
    shell>sudo chown -R tomcat:tomcat /usr/local/tomcat6
    shell> sudo chown -R tomcat:tomcat /opt/apache-tomcat-6.0.13

    2、安裝jsvc
    shell>cd /usr/local/tomcat6/bin
    shell>sudo tar xvfz jsvc.tar.gz
    shell>cd jsvc-src
    shell>sudo sh support/buildconf.sh
    如果成功,命令終端打印出下面report:
    support/buildconf.sh: configure script generated successfully

    [注:在此之前,我的系統(tǒng)安裝了autoconf,可以使用shell>sudo apt-get install autoconf 進(jìn)行安裝]
    為configure添加執(zhí)行權(quán)限
    shell>sudo chmod 755 configure
    shell>sudo ./configure --with-java=/usr/lib/j2sdk1.6-sun (這是俺系統(tǒng)的JDK安裝的位置)
    shell>sudo make

    okay!如果沒(méi)有出現(xiàn)錯(cuò)誤的話,jsvc就安裝成功了!

    3、設(shè)置啟動(dòng)腳本
    接下來(lái),就是把jsvc中帶有的一個(gè)tomcat5.sh的一個(gè)模板復(fù)制到/etc/init.d目錄下,然后根據(jù)自己的情況,進(jìn)行修改。
    shell>sudo cp /usr/local/tomcat6/bin/jsvc-src/native/Tomcat5.sh /etc/init.d/tomcat
    上面的命令是移動(dòng)文件tomcat5.sh到/etc/init.d/里面并改名為tomcat

    修改/etc/init.d/tomcat文件:
    shell>cd /etc/init.d
    shell>sudo gedit tomcat

    俺的tomcat文件修改完如下:

    #!/bin/sh
    ##############################################################################
    #
    # Copyright 2004 The Apache Software Foundation.
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    # http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    ##############################################################################
    #
    # Small shell script to show how to start/stop Tomcat using jsvc
    # If you want to have Tomcat running on port 80 please modify the server.xml
    # file:
    #
    # <!-- Define a non-SSL HTTP/1.1 Connector on port 80 -->
    # <Connector className="org.apache.catalina.connector.http.HttpConnector"
    # port="80" minProcessors="5" maxProcessors="75"
    # enableLookups="true" redirectPort="8443"
    # acceptCount="10" debug="0" connectionTimeout="60000"/>
    #
    # That is for Tomcat-5.0.x (Apache Tomcat/5.0)
    #
    # Adapt the following lines to your configuration
    JAVA_HOME=/usr/lib/j2sdk1.6-sun
    CATALINA_HOME=/usr/local/tomcat6
    DAEMON_HOME=/usr/local/tomcat6/bin
    TOMCAT_USER=tomcat

    # for multi instances adapt those lines.
    TMP_DIR=/var/tmp
    PID_FILE=/var/run/jsvc.pid
    CATALINA_BASE=/usr/local/tomcat6

    CATALINA_OPTS=
    CLASSPATH=\
    $JAVA_HOME/lib/tools.jar:\
    $CATALINA_HOME/bin/commons-daemon.jar:\
    $CATALINA_HOME/bin/bootstrap.jar

    case "$1" in
    start)
    #
    # Start Tomcat
    #
    $DAEMON_HOME/jsvc-src/jsvc \
    -user $TOMCAT_USER \
    -home $JAVA_HOME \
    -Dcatalina.home=$CATALINA_HOME \
    -Dcatalina.base=$CATALINA_BASE \
    -Djava.io.tmpdir=$TMP_DIR \
    -wait 10 \
    -pidfile $PID_FILE \
    -outfile $CATALINA_HOME/logs/catalina.out \
    -errfile '&1' \
    $CATALINA_OPTS \
    -cp $CLASSPATH \
    org.apache.catalina.startup.Bootstrap
    #
    # To get a verbose JVM
    #-verbose \
    # To get a debug of jsvc.
    #-debug \
    exit $?
    ;;

    stop)
    #
    # Stop Tomcat
    #
    $DAEMON_HOME/src/native/unix/jsvc \
    -stop \
    -pidfile $PID_FILE \
    org.apache.catalina.startup.Bootstrap
    exit $?
    ;;

    *)
    echo "Usage tomcat.sh start/stop"
    exit 1;;
    esac

    [注:需要修改的地方,我都用紅色標(biāo)出來(lái)]
    如果在其他linux系統(tǒng),這樣就okay了,但是在ubuntu中,還需要進(jìn)行一步,就是把在rc2.d中設(shè)置一個(gè)軟鏈接

    在/etc/rc2.d目錄下建立S16apache軟聯(lián)接到/etc/init.d/tomcat
    shell>cd /etc/rc2.d
    shell>ln -s /etc/init.d/apache2 S16apache
    [注:rc2.d目錄下的文件要以S后就數(shù)字開頭,表示啟動(dòng)的順序。而rc2.d中的2,表示這個(gè)目錄下文件在開機(jī)時(shí)的運(yùn)行級(jí)別(runlevel)為2]

    四、結(jié)束
    重新啟動(dòng)系統(tǒng)
    shell>sudo reboot -n
    啟動(dòng)后,就可以在FF中直接輸入http://localhost:8080。如果成功,就可以看見一直可愛(ài)的kitten拉~~~



    posted @ 2007-11-02 16:40 生活在別處 閱讀(1640) | 評(píng)論 (0)編輯 收藏

            項(xiàng)目開發(fā)中,碰到的問(wèn)題,原先設(shè)計(jì)的字段,定為VARCHAR2類型,最大長(zhǎng)度為4000 bytes,實(shí)際的應(yīng)用中,內(nèi)容往往超過(guò)兩千漢字,沒(méi)辦法正常插入,因此改為clob大字段類型。
            采用Hibernate,實(shí)現(xiàn)Clob和Blob對(duì)象的存取, 網(wǎng)上有很多解決方案,但是比較老,實(shí)際運(yùn)用中,可能會(huì)碰到各種問(wèn)題。下面是我采用的方案,比較簡(jiǎn)單,希望對(duì)碰到這個(gè)問(wèn)題的人,有幫助。
            目前oracle的driver已經(jīng)支持JDBC 直接操作 CLOB了,但是使用舊的driver的時(shí)候,會(huì)遇到各種問(wèn)題,如2k字符的問(wèn)題。
             最新的oracle10g的driver,已經(jīng)解決了這些問(wèn)題。我項(xiàng)目用ojdbc14-10.2.0.3.0.jar 連接oracle9i數(shù)據(jù)庫(kù),可以正常讀寫CLOB。
             Hibernate存取Clob和Blob對(duì)象,將 clob用string方式處理。
             Hibernate Annotations方式,只要映射成Lob類型就可以,對(duì)該字段的讀寫,就是一般的操作方式。

            @Lob
        public String getTxt() {
            
    return txt;
        }

            好了,就是這么簡(jiǎn)單!

    posted @ 2007-11-02 16:17 生活在別處 閱讀(3581) | 評(píng)論 (3)編輯 收藏

    WIN下的tomcat5的日志是按日期來(lái)記錄的.移到linux下發(fā)現(xiàn)tomcat/logs下只有一個(gè)catalina.out件.
    時(shí)間一長(zhǎng).發(fā)現(xiàn)日志文件暴增.對(duì)于管理真是不方便.
    要是能像win下的tomcat那樣分日期記錄就好了.思來(lái)想去就想到用cron來(lái)分割日志文件.
    試試吧.
    先google一下.cronolog-1.6.2.tar.gz
    1.下載cronolog-1.6.2.tar.gz
    2.安裝
    # tar zxvf cronolog-1.6.2.tar.gz
    # ./configure
    # make
    # make install
    搞定!
    默認(rèn)是安裝在/usr/local/sbin/下.
    3.配置
    重點(diǎn)來(lái)了.注意嘍!!!
    在tomcat/bin/catalian.sh中找到
    org.apache.catalina.startup.Bootstrap "$@" start \     >> "$CATALINA_BASE"/logs/catalina.out 2&1 &
     
    把上面的內(nèi)容改成:
    org.apache.catalina.startup.Bootstrap "$@" start \
    |/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null 2>&1 &
    修改好了.重啟
    #./catalina.sh start
    現(xiàn)去看看勞動(dòng)成果吧.
    # ls /tomcat/logs/
    就會(huì)發(fā)現(xiàn)logs下面多了幾個(gè)如同catalina.2006.06.01.log的文件了.

    posted @ 2007-10-30 10:07 生活在別處 閱讀(2562) | 評(píng)論 (0)編輯 收藏

        最近發(fā)現(xiàn)服務(wù)器被人窮舉掃描,網(wǎng)上找了辦法搞定了

    原貼:http://blog.chinaunix.net/u/17030/showart_315674.html

    我的服務(wù)器每天都會(huì)有無(wú)數(shù)的SSH失敗嘗試記錄,有些無(wú)聊的人一直不停的掃描,這些人真夠無(wú)聊的,沒(méi)事吃飽了撐著,老找些軟件在那里窮舉掃描,所以大家第一要記的設(shè)置一個(gè)好的夠復(fù)雜的密碼。

    怎么樣防,如果要一條一條將這些IP阻止顯然治標(biāo)不治本,還好有DenyHosts軟件來(lái)代替我們手搞定他。

    DenyHosts是Python語(yǔ)言寫的一個(gè)程序,它會(huì)分析sshd的日志文件,當(dāng)發(fā)現(xiàn)重復(fù)的攻擊時(shí)就會(huì)記錄IP到/etc/hosts.deny文件,從而達(dá)到自動(dòng)屏IP的功能。

    DenyHosts官方網(wǎng)站為:http://denyhosts.sourceforge.net

    以下是安裝記錄(以CentOS 4.3, DenyHosts 2.5 為例)

    安裝

    # cd /usr/local/src
    # wget http://mesh.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.5.tar.gz
    # tar -zxvf DenyHosts-2.5.tar.gz
    # cd DenyHosts-2.5
    # python setup.py install

    默認(rèn)是安裝到/usr/share/denyhosts目錄的。

    配置

    # cd /usr/share/denyhosts/
    # cp denyhosts.cfg-dist denyhosts.cfg
    # vi denyhosts.cfg

    根據(jù)自己需要進(jìn)行相應(yīng)的配置(解釋見下文件的配置文件)

    設(shè)置啟動(dòng)腳本

    # cp daemon-control-dist daemon-control
    # chown root daemon-control
    # chmod 700 daemon-control

    完了之后執(zhí)行daemon-contron start就可以了。

    # ./daemon-control start

    如果要使DenyHosts每次重起后自動(dòng)啟動(dòng)還需做如下設(shè)置:

    # cd /etc/init.d
    # ln -s /usr/share/denyhosts/daemon-control denyhosts
    # chkconfig –add denyhosts
    # chkconfig –level 2345 denyhosts on

    或者修改/etc/rc.local文件:

    # vi /etc/rc.local

    加入下面這條命令

    /usr/share/denyhosts/daemon-control start

    DenyHosts配置文件:

    vi /etc/denyhosts.cfg

    SECURE_LOG = /var/log/secure
    #ssh 日志文件,它是根據(jù)這個(gè)文件來(lái)判斷的。

    HOSTS_DENY = /etc/hosts.deny
    #控制用戶登陸的文件

    PURGE_DENY = 5m
    #過(guò)多久后清除已經(jīng)禁止的

    BLOCK_SERVICE = sshd
    #禁止的服務(wù)名

    DENY_THRESHOLD_INVALID = 1
    #允許無(wú)效用戶失敗的次數(shù)

    DENY_THRESHOLD_VALID = 10
    #允許普通用戶登陸失敗的次數(shù)

    DENY_THRESHOLD_ROOT = 5
    #允許root登陸失敗的次數(shù)

    HOSTNAME_LOOKUP=NO
    #是否做域名反解

    ADMIN_EMAIL = iakuf@163.com
    #管理員郵件地址,它會(huì)給管理員發(fā)郵件

    DAEMON_LOG = /var/log/denyhosts
    #自己的日志文件

    然后就可以啟動(dòng)了:

    service denyhost start

    可以看看/etc/hosts.deny內(nèi)是否有禁止的IP,有的話說(shuō)明已經(jīng)成功了。


    =========================================================
    原文地址 http://www.taoran.net/tech/denyhosts.html

    DenyHosts是用Python2.3寫的一個(gè)程序,它會(huì)分析/var/log/secure(redhat,F(xiàn)edora Core)等日志文件,當(dāng)發(fā)現(xiàn)同一IP在進(jìn)行多次SSH密

    碼嘗試時(shí)就會(huì)記錄IP到/etc/hosts.deny文件,從而達(dá)到自動(dòng)屏蔽該IP的目的。

    DenyHosts官方網(wǎng)站為:http://denyhosts.sourceforge.net


    一、檢查安裝條件

    1、首先判斷系統(tǒng)安裝的sshd是否支持tcp_wrappers(默認(rèn)都支持)
    # ldd /usr/sbin/sshd
    libwrap.so.0 => /usr/lib/libwrap.so.0 (0x0046e000)

    2、判斷默認(rèn)安裝的Python版本
    # python -V
    Python 2.3.4

    二、已安裝Python2.3以上版本的情況(以RedHat AS4為例)

    1、安裝DenyHosts

    # cd /usr/local/src
    # wget http://umn.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6.tar.gz
    # tar zxf DenyHosts-2.6.tar.gz
    # cd DenyHosts-2.6
    # python setup.py install
      
       程序腳本自動(dòng)安裝到/usr/share/denyhosts
       庫(kù)文件自動(dòng)安裝到/usr/lib/python2.3/site-packages/DenyHosts
       denyhosts.py自動(dòng)安裝到/usr/bin

    2、設(shè)置啟動(dòng)腳本
    # cd /usr/share/denyhosts/
    # cp daemon-control-dist daemon-control
    # chown root daemon-control
    # chmod 700 daemon-control
    # grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg
    # vi denyhosts.cfg
      根據(jù)自己需要進(jìn)行相應(yīng)的修改
    ----------------denyhosts.cfg------------------------
    SECURE_LOG = /var/log/secure
    #RedHat/Fedora Core分析該日志文件
    #其它版本linux根據(jù)denyhosts.cfg-dist內(nèi)提示選擇。

    PURGE_DENY = 30m
    #過(guò)多久后清除

    DENY_THRESHOLD_INVALID = 1
    #允許無(wú)效用戶(/etc/passwd未列出)登錄失敗的次數(shù)

    DENY_THRESHOLD_VALID = 5
    #允許有效(普通)用戶登錄失敗的次數(shù)

    DENY_THRESHOLD_ROOT = 3
    #允許root登錄失敗的次數(shù)

    HOSTNAME_LOOKUP=NO
    #是否做域名反解
    ----------------denyhosts.cfg------------------------

    如果需要DenyHosts隨系統(tǒng)重啟而自動(dòng)啟動(dòng),還需做如下設(shè)置:
    # vi /etc/rc.local
        加入下面這條命令
    /usr/share/denyhosts/daemon-control start

    3、啟動(dòng)

    # /usr/share/denyhosts/daemon-control start



    三、未安裝Python2.3以上版本的情況(以RedHat AS3、Python2.2為例)

    1、安裝Python最新版本的源碼包,不必卸載原有低版本Python
    # cd /usr/local/src
    # wget http://www.python.org/ftp/python/2.5.1/Python-2.5.1.tar.bz2
    # tar jxf Python-2.5.1.tar.bz2
    # cd Python-2.5.1
    # ./configure --prefix=/usr/local/python
    # make
    # make install

    2、安裝DenyHosts
    # cd /usr/local/src
    # wget http://umn.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6.tar.gz
    # tar zxf DenyHosts-2.6.tar.gz
    # cd DenyHosts-2.6
    # vi setup.py
      將"/usr/bin/env python"替換為"/usr/local/python/bin/python",在第一行
    # vi daemon-control-dist
      將"/usr/bin/env python"替換為"/usr/local/python/bin/python",注意有兩處
    # /usr/local/python/bin/python setup.py install

       程序腳本自動(dòng)安裝到/usr/share/denyhosts
       庫(kù)文件自動(dòng)安裝到/usr/local/python/lib/python2.5/site-packages/DenyHosts
       denyhosts.py自動(dòng)安裝到/usr/local/python/bin

    # ln -s /usr/local/python/bin/denyhosts.py /usr/bin

    posted @ 2007-10-30 10:01 生活在別處 閱讀(661) | 評(píng)論 (1)編輯 收藏

    原帖地址: http://www.tkk7.com/Unmi/archive/2007/07/25/132391.html


    做了一個(gè) Java 程序放在 Solaris 下運(yùn)行,用到許多的第三方包,有 *.zip 的和 *.jar的,放在 lib 目錄下,然后寫了一個(gè) shell 腳本來(lái)運(yùn)行那個(gè) java 程序,那就要在 classpath 中包含所有在 lib 中的第三方包。

    原來(lái)的做法是在 classpath中把lib目錄中一個(gè)個(gè)的包文件名用冒號(hào)連綴起來(lái),比如
    classpath=.:lib/a.jar:lib/b.jar:lib/c.jar:lib/d.zip
    java -classpath $classpath com.unmi.Main

    碰到程序升級(jí),在lib中增加或減少了包文件,又要再重新修改那個(gè)啟動(dòng) java 程序的 shell 腳本,甚是麻煩。由此想寫個(gè) shell,功能是能列舉lib目錄下所有第三方包,用冒號(hào)連綴成一個(gè) classpath 變量,這樣的話,無(wú)論在 lib 目錄中增減包,都不需要再次修改那個(gè)啟動(dòng) java 程序的 shell 腳本,就像 tomcat,無(wú)論是 common/lib 還是 app/WEB-INF/lib 中的第三方包,即放即用。

    記得在以前一個(gè)公司,有見過(guò)這樣的腳本,不過(guò)記不清了,大致是用 while 循環(huán)來(lái)生成那樣一個(gè)classpath 變量的。

    還好在網(wǎng)上有高人出手相救,在 CSDN 發(fā)了一個(gè)貼:

    http://community.csdn.net/Expert/topic/5671/5671131.xml?temp=.7013971

    過(guò)一天就有人回復(fù),完成這一功能的代碼是:

    #!/bin/sh

    _jar=`ls | grep "..*\.zip$"`
    _zip=`ls | grep "..*\.jar$"`
    _classpath="${_jar} ${_zip}"
    classpath=`echo ${_classpath} | sed -e 's/ /:/g'`
    echo ${classpath}

    這里根據(jù)我們前面的需求,是要列出 lib 目錄下的 *.zip 或 *.jar 包,所以 shell 改寫為:

    #!/bin/sh

    _jar=`ls lib | grep "..*\.zip$"`  #列舉lib目錄下的 *.zip 文件
    _zip=`ls lib | grep "..*\.jar$"`  #列舉lib目錄下的 *.zip 文件
    _classpath="${_jar} ${_zip}"
    classpath=`echo ${_classpath} | sed -e 's/ /:lib\//g'`   #包名前都要帶個(gè) lib/
    echo ${classpath}

    這樣,你就可以使用這個(gè) classpath 變量了

    java -classpath .:${classpath} com.unmi.Main #把當(dāng)前目錄 . 也加到 classpath 中

    在此非常感謝 mymtom(mymtom) 的回復(fù)。

    最后回頭來(lái)想想這也就是在原來(lái)的 JRE 版本需要手工處理這些事情,如果能用上新版 6.0 Mustang JRE,就可以用它的新特性之一,classpath 通配符,java -classpath .;lib\*.jar:lib\*.zip 了,可是相信大多數(shù)同我一樣,還享受不起最新版,只能暫且麻煩一些了。
    posted on 2007-07-25 21:14 Unmi 閱讀(685) 評(píng)論(4)  編輯  收藏

    Feedback

    # re: [導(dǎo)入]Linux/Unix下讀取lib目錄下所有包生成classpath的Shell 2007-07-27 09:41 blackstone
    提供另一種辦法

    #!/bin/sh
    #獲取當(dāng)前目錄
    PWD=`pwd`
    for i in lib/*;
    do CLASSPATH=$PWD/$i:"$CLASSPATH";
    done

    export CLASSPATH=.:$CLASSPATH

    java Your Main Class  回復(fù)  更多評(píng)論
      

    # re: [導(dǎo)入]Linux/Unix下讀取lib目錄下所有包生成classpath的Shell 2007-07-27 13:07 Unmi
    太好,更簡(jiǎn)練了,對(duì)我來(lái)說(shuō)寫成下來(lái)那樣子就行了

    #!/bin/sh
    CP=.
    for file in lib/*;
    do CP=${CP}:$file;
    done
    echo $CP
    #我只要用這個(gè)CP就行
      回復(fù)  更多評(píng)論
      

    # re: [導(dǎo)入]Linux/Unix下讀取lib目錄下所有包生成classpath的Shell 2007-09-30 10:38 飛貓
    這個(gè)更方便:
    CLASSPATH=`find lib -name *.jar|xargs|sed "s/ /:/g"`
    CLASSPATH=".:$CLASSPATH"
    echo $CLASSPATH

      回復(fù)  更多評(píng)論 
      
     
    DOS批處理腳本枚舉 lib 目錄下的 jar 和 zip 文件,拼成 classpath 的腳本

    @echo off
    setlocal EnableDelayedExpansion
    set cp=.
    for /F %%a in ('dir lib\*.jar lib\*.zip /b') do set cp=!cp!;%%a
    @echo %cp%

    posted @ 2007-10-10 16:50 生活在別處 閱讀(4868) | 評(píng)論 (0)編輯 收藏

    僅列出標(biāo)題
    共4頁(yè): 上一頁(yè) 1 2 3 4 下一頁(yè) 
    主站蜘蛛池模板: 免费女人18毛片a级毛片视频| 95免费观看体验区视频| 性做久久久久久久免费看| 亚洲精品国偷自产在线| 一级做a爱过程免费视| 亚洲AV伊人久久青青草原| 亚洲AV无码一区二区三区电影| 成人免费在线观看网站| 亚洲字幕AV一区二区三区四区| 久久久久久久久免费看无码| 国产亚洲精aa在线看| 日韩在线天堂免费观看 | 在线观看免费精品国产| 亚洲精品宾馆在线精品酒店 | 亚洲精品成a人在线观看| 特黄aa级毛片免费视频播放| 日韩亚洲国产二区| 一级毛片大全免费播放下载| 亚洲人成网77777亚洲色| 亚洲一区免费观看| 亚洲一级毛片免观看| 暖暖免费高清日本中文| a毛片成人免费全部播放| 亚洲s色大片在线观看| 7723日本高清完整版免费| 亚洲区日韩精品中文字幕| 免费乱码中文字幕网站| 久久精品成人免费看| 亚洲成人午夜电影| 日韩免费在线观看| 精品国产福利尤物免费| 亚洲美女视频一区| 国产a级特黄的片子视频免费| 久久国产一片免费观看| 亚洲av午夜精品无码专区| 免费一级毛片正在播放| 久久久久免费看黄a级试看| 中文字幕精品三区无码亚洲| AV在线亚洲男人的天堂| 在线永久免费的视频草莓| 国产亚洲漂亮白嫩美女在线|