2012-06-07 73 views
3

我在Fedora 14系統上運行Suricata的舊版本「1.1」。它是通過yum安裝的,並且由於我已經閱讀過一些問題,因此沒有可用的init腳本。有沒有一種簡單的方法將以下內容包含在通用的init腳本中,以便在系統引導時suricata自動啓動。爲Suricata創建Bash初始化腳本

感謝您的任何幫助/方向。

+0

您可以更具體地瞭解您嘗試運行的命令是否僅僅是標準的「suricata -c」? – secumind

+0

哇,這很快,我的界面是eth0所以「suricata -c /etc/suricata/suricata.yaml -i eth0」 – user1443366

回答

5

試試這個關於大小:「叫它suricata並將其放置在根據您的系統上/etc/init.d目錄

#!/bin/bash 
# 
# Init file for suricata 
# 
# 
# chkconfig: 345 52 48 
# description: Network Intrusion Detection System 
# 
# processname: Suricata 
# pidfile: /var/run/suricata.pid 

source /etc/rc.d/init.d/functions 


### Read configuration 
[ -r "$SYSCONFIG" ] && source "$SYSCONFIG" 

RETVAL=0 
prog="suricata" 
desc="Suricata IDS" 

start() { 
    echo -n $"Starting $desc ($prog): " 

    daemon suricata -c /etc/suricata.yaml -i eth0 
    RETVAL=$? 
    echo 
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog 
    return $RETVAL 
} 

stop() { 
    echo -n $"Shutting down $desc ($prog): " 
    killproc $prog 
    RETVAL=$? 
    echo 
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog 
    return $RETVAL 
} 

restart() { 
    stop 
    start 
} 

case "$1" in 
    start) 
    start 
    ;; 
    stop) 
    stop 
    ;; 
    restart) 
    restart 
    ;; 
    reload) 
    reload 
    ;; 
    condrestart) 
    [ -e /var/lock/subsys/$prog ] && restart 
    RETVAL=$? 
    ;; 
    status) 
    status $prog 
    RETVAL=$? 
    ;; 
    *) 
    echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}" 
    RETVAL=1 
esac 

exit $RETVAL 

,我沒有運行Fedora 14,您可能需要提供suricata二進制文件的絕對路徑。mine是/ usr/local/bin/suricata

你也應該考慮更新或者至少從源代碼編譯這給你一個make install-full選項,爲你做所有這些現在包括安裝一個初始化腳本,你可以從the suricata open info sec website下載它

+0

這很棒,它完美的工作,我可以像任何其他服務一樣啓動/停止/重新啓動。我做了一個「chkconfig on」的suricata它重新啓動了系統並且suricata自動啓動,這很好。感謝您的幫助! – user1443366