projects
/
ossec-hids.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
izmjene za jessie
[ossec-hids.git]
/
src
/
init
/
ossec-local.sh
diff --git
a/src/init/ossec-local.sh
b/src/init/ossec-local.sh
index
259bd5d
..
1fd9cb0
100755
(executable)
--- a/
src/init/ossec-local.sh
+++ b/
src/init/ossec-local.sh
@@
-22,7
+22,7
@@
fi
NAME="OSSEC HIDS"
NAME="OSSEC HIDS"
-VERSION="v2.3"
+VERSION="v2.7"
AUTHOR="Trend Micro Inc."
DAEMONS="ossec-monitord ossec-logcollector ossec-syscheckd ossec-analysisd ossec-maild ossec-execd ${DB_DAEMON} ${CSYSLOG_DAEMON} ${AGENTLESS_DAEMON}"
AUTHOR="Trend Micro Inc."
DAEMONS="ossec-monitord ossec-logcollector ossec-syscheckd ossec-analysisd ossec-maild ossec-execd ${DB_DAEMON} ${CSYSLOG_DAEMON} ${AGENTLESS_DAEMON}"
@@
-115,8
+115,8
@@
enable()
{
if [ "X$2" = "X" ]; then
echo ""
{
if [ "X$2" = "X" ]; then
echo ""
- echo "Enable options: database, client-syslog, agentless"
- echo "Usage: $0 enable [database|client-syslog|agentless]"
+ echo "Enable options: database, client-syslog, agentless, debug"
+ echo "Usage: $0 enable [database|client-syslog|agentless|debug]"
exit 1;
fi
exit 1;
fi
@@
-126,12
+126,14
@@
enable()
echo "CSYSLOG_DAEMON=ossec-csyslogd" >> ${PLIST};
elif [ "X$2" = "Xagentless" ]; then
echo "AGENTLESS_DAEMON=ossec-agentlessd" >> ${PLIST};
echo "CSYSLOG_DAEMON=ossec-csyslogd" >> ${PLIST};
elif [ "X$2" = "Xagentless" ]; then
echo "AGENTLESS_DAEMON=ossec-agentlessd" >> ${PLIST};
+ elif [ "X$2" = "Xdebug" ]; then
+ echo "DEBUG_CLI=\"-d\"" >> ${PLIST};
else
echo ""
echo "Invalid enable option."
echo ""
else
echo ""
echo "Invalid enable option."
echo ""
- echo "Enable options: database, client-syslog, agentless"
- echo "Usage: $0 enable [database|client-syslog|agentless]"
+ echo "Enable options: database, client-syslog, agentless, debug"
+ echo "Usage: $0 enable [database|client-syslog|agentless|debug]"
exit 1;
fi
exit 1;
fi
@@
-145,8
+147,8
@@
disable()
{
if [ "X$2" = "X" ]; then
echo ""
{
if [ "X$2" = "X" ]; then
echo ""
- echo "Disable options: database, client-syslog, agentless"
- echo "Usage: $0 disable [database|client-syslog|agentless]"
+ echo "Disable options: database, client-syslog, agentless, debug"
+ echo "Usage: $0 disable [database|client-syslog|agentless,debug]"
exit 1;
fi
exit 1;
fi
@@
-156,12
+158,14
@@
disable()
echo "CSYSLOG_DAEMON=\"\"" >> ${PLIST};
elif [ "X$2" = "Xagentless" ]; then
echo "AGENTLESS_DAEMON=\"\"" >> ${PLIST};
echo "CSYSLOG_DAEMON=\"\"" >> ${PLIST};
elif [ "X$2" = "Xagentless" ]; then
echo "AGENTLESS_DAEMON=\"\"" >> ${PLIST};
+ elif [ "X$2" = "Xdebug" ]; then
+ echo "DEBUG_CLI=\"\"" >> ${PLIST};
else
echo ""
echo "Invalid disable option."
echo ""
else
echo ""
echo "Invalid disable option."
echo ""
- echo "Disable options: database, client-syslog, agentless"
- echo "Usage: $0 disable [database|client-syslog|agentless]"
+ echo "Disable options: database, client-syslog, agentless, debug"
+ echo "Usage: $0 disable [database|client-syslog|agentless|debug]"
exit 1;
fi
exit 1;
fi
@@
-173,14
+177,30
@@
disable()
# Status function
status()
{
# Status function
status()
{
+ RETVAL=0
for i in ${DAEMONS}; do
pstatus ${i};
if [ $? = 0 ]; then
for i in ${DAEMONS}; do
pstatus ${i};
if [ $? = 0 ]; then
+ RETVAL=1
echo "${i} not running..."
else
echo "${i} is running..."
fi
echo "${i} not running..."
else
echo "${i} is running..."
fi
- done
+ done
+ exit $RETVAL
+}
+
+testconfig()
+{
+ # We first loop to check the config.
+ for i in ${SDAEMONS}; do
+ ${DIR}/bin/${i} -t ${DEBUG_CLI};
+ if [ $? != 0 ]; then
+ echo "${i}: Configuration error. Exiting"
+ unlock;
+ exit 1;
+ fi
+ done
}
}
@@
-190,24
+210,21
@@
start()
SDAEMONS="${DB_DAEMON} ${CSYSLOG_DAEMON} ${AGENTLESS_DAEMON} ossec-maild ossec-execd ossec-analysisd ossec-logcollector ossec-syscheckd ossec-monitord"
echo "Starting $NAME $VERSION (by $AUTHOR)..."
SDAEMONS="${DB_DAEMON} ${CSYSLOG_DAEMON} ${AGENTLESS_DAEMON} ossec-maild ossec-execd ossec-analysisd ossec-logcollector ossec-syscheckd ossec-monitord"
echo "Starting $NAME $VERSION (by $AUTHOR)..."
+ echo | ${DIR}/bin/ossec-logtest > /dev/null 2>&1;
+ if [ ! $? = 0 ]; then
+ echo "ossec-analysisd: Configuration error. Exiting."
+ exit 1;
+ fi
+
lock;
checkpid;
lock;
checkpid;
- # We first loop to check the config.
- for i in ${SDAEMONS}; do
- ${DIR}/bin/${i} -t;
- if [ $? != 0 ]; then
- echo "${i}: Configuration error. Exiting"
- unlock;
- exit 1;
- fi
- done
# We actually start them now.
for i in ${SDAEMONS}; do
pstatus ${i};
if [ $? = 0 ]; then
# We actually start them now.
for i in ${SDAEMONS}; do
pstatus ${i};
if [ $? = 0 ]; then
- ${DIR}/bin/${i};
+ ${DIR}/bin/${i} ${DEBUG_CLI};
if [ $? != 0 ]; then
unlock;
exit 1;
if [ $? != 0 ]; then
unlock;
exit 1;
@@
-224,6
+241,14
@@
start()
# to internally create their PID files.
sleep 2;
unlock;
# to internally create their PID files.
sleep 2;
unlock;
+
+ ls -la "${DIR}/ossec-agent/" >/dev/null 2>&1
+ if [ $? = 0 ]; then
+ echo ""
+ echo "Starting sub agent directory (for hybrid mode)"
+ ${DIR}/ossec-agent/bin/ossec-control start
+ fi
+
echo "Completed."
}
echo "Completed."
}
@@
-278,6
+303,13
@@
stopa()
done
unlock;
done
unlock;
+
+ ls -la "${DIR}/ossec-agent/" >/dev/null 2>&1
+ if [ $? = 0 ]; then
+ echo ""
+ echo "Stopping sub agent directory (for hybrid mode)"
+ ${DIR}/ossec-agent/bin/ossec-control stop
+ fi
echo "$NAME $VERSION Stopped"
}
echo "$NAME $VERSION Stopped"
}
@@
-286,13
+318,16
@@
stopa()
case "$1" in
start)
case "$1" in
start)
+ testconfig
start
;;
stop)
stopa
;;
restart)
start
;;
stop)
stopa
;;
restart)
+ testconfig
stopa
stopa
+ sleep 1;
start
;;
status)
start
;;
status)