2012-06-07 42 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