215 lines
5.8 KiB
Diff
215 lines
5.8 KiB
Diff
From 38572e7eead76015b388723038f03e2ef0b1e3c1 Mon Sep 17 00:00:00 2001
|
|
From: Steve Grubb <sgrubb@redhat.com>
|
|
Date: Fri, 25 Aug 2023 10:41:20 -0400
|
|
Subject: [PATCH] Rewrite legacy service functions in terms of systemctl
|
|
|
|
Reference:https://github.com/linux-audit/audit-userspace/commit/38572e7eead76015b388723038f03e2ef0b1e3c1
|
|
Conflict:init.d/Makefile.am,ChangeLog
|
|
|
|
---
|
|
init.d/Makefile.am | 3 +--
|
|
init.d/audit-functions | 52 ---------------------------------------
|
|
init.d/auditd.condrestart | 7 +++---
|
|
init.d/auditd.reload | 6 +----
|
|
init.d/auditd.resume | 6 +----
|
|
init.d/auditd.rotate | 6 +----
|
|
init.d/auditd.state | 4 +--
|
|
init.d/auditd.stop | 3 +--
|
|
8 files changed, 10 insertions(+), 77 deletions(-)
|
|
delete mode 100644 init.d/audit-functions
|
|
|
|
diff --git a/init.d/Makefile.am b/init.d/Makefile.am
|
|
index fdbf81c..3a73697 100644
|
|
--- a/init.d/Makefile.am
|
|
+++ b/init.d/Makefile.am
|
|
@@ -26,7 +26,7 @@ EXTRA_DIST = auditd.init auditd.service auditd.sysconfig auditd.conf \
|
|
auditd.cron libaudit.conf auditd.condrestart \
|
|
auditd.reload auditd.restart auditd.resume \
|
|
auditd.rotate auditd.state auditd.stop \
|
|
- audit-stop.rules augenrules audit-functions
|
|
+ audit-stop.rules augenrules
|
|
libconfig = libaudit.conf
|
|
if ENABLE_SYSTEMD
|
|
initdir = /usr/lib/systemd/system
|
|
@@ -61,7 +61,6 @@ if ENABLE_SYSTEMD
|
|
$(INSTALL_SCRIPT) -D -m 750 ${srcdir}/auditd.stop ${DESTDIR}${legacydir}/stop
|
|
$(INSTALL_SCRIPT) -D -m 750 ${srcdir}/auditd.restart ${DESTDIR}${legacydir}/restart
|
|
$(INSTALL_SCRIPT) -D -m 750 ${srcdir}/auditd.condrestart ${DESTDIR}${legacydir}/condrestart
|
|
- $(INSTALL_SCRIPT) -D -m 750 ${srcdir}/audit-functions ${DESTDIR}${libexecdir}
|
|
else
|
|
$(INSTALL_SCRIPT) -D ${srcdir}/auditd.init ${DESTDIR}${initdir}/auditd
|
|
endif
|
|
diff --git a/init.d/audit-functions b/init.d/audit-functions
|
|
deleted file mode 100644
|
|
index 12f5023..0000000
|
|
--- a/init.d/audit-functions
|
|
+++ /dev/null
|
|
@@ -1,52 +0,0 @@
|
|
-# -*-Shell-script-*-
|
|
-
|
|
-# Make sure umask is sane
|
|
-umask 022
|
|
-
|
|
-#/usr/libexec/audit/audit-functions
|
|
-
|
|
-# killproc {program} [-signal]
|
|
-killproc ()
|
|
-{
|
|
- local daemon="$1"
|
|
- local sig=
|
|
- [ -n "${2:-}" ] && sig=$2
|
|
-
|
|
- # This matches src/auditd.c
|
|
- local pid_file="/var/run/auditd.pid"
|
|
- local pid_dir=$(dirname $pid_file)
|
|
-
|
|
- if [ ! -d "$pid_dir" ] ; then
|
|
- return 4
|
|
- fi
|
|
-
|
|
- local pid=
|
|
- if [ -f "$pid_file" ] ; then
|
|
- # pid file exists, use it
|
|
- while : ; do
|
|
- read line
|
|
- [ -z "$line" ] && break
|
|
- for p in $line ; do
|
|
- # pid is numeric and corresponds to a process
|
|
- if [ -z "${p//[0-9]/}" ] && [ -d "/proc/$p" ] ; then
|
|
- d=$(cat "/proc/$p/comm")
|
|
- if [ "$d" = "$daemon" ] ; then
|
|
- pid="$p"
|
|
- break
|
|
- fi
|
|
- fi
|
|
- done
|
|
- done < "$pid_file"
|
|
- else
|
|
- # need to search /proc
|
|
- p=$(pidof "$daemon")
|
|
- if [ -n "$p" ] ; then
|
|
- pid="$p"
|
|
- fi
|
|
- fi
|
|
-
|
|
- # At this point we should have a pid or the process is dead
|
|
- if [ -n "$pid" ] && [ -n "$sig" ] ; then
|
|
- kill "$sig" "$pid" >/dev/null 2>&1
|
|
- fi
|
|
-}
|
|
diff --git a/init.d/auditd.condrestart b/init.d/auditd.condrestart
|
|
index d86e5e4..c5803ff 100644
|
|
--- a/init.d/auditd.condrestart
|
|
+++ b/init.d/auditd.condrestart
|
|
@@ -2,9 +2,10 @@
|
|
# Helper script to provide legacy auditd service options not
|
|
# directly supported by systemd.
|
|
|
|
-state=`service auditd status | awk '/^ Active/ { print $2 }'`
|
|
-if [ $state = "active" ] ; then
|
|
- /usr/libexec/initscripts/legacy-actions/auditd/restart
|
|
+state=$(systemctl status auditd | awk '/Active:/ { print $2 }')
|
|
+if [ "$state" = "active" ] ; then
|
|
+ /usr/libexec/initscripts/legacy-actions/auditd/stop
|
|
+ /bin/systemctl start auditd
|
|
RETVAL="$?"
|
|
exit $RETVAL
|
|
fi
|
|
diff --git a/init.d/auditd.reload b/init.d/auditd.reload
|
|
index e689534..53ff2f4 100644
|
|
--- a/init.d/auditd.reload
|
|
+++ b/init.d/auditd.reload
|
|
@@ -5,13 +5,9 @@
|
|
# Check that we are root ... so non-root users stop here
|
|
test $(id -u) = 0 || exit 4
|
|
|
|
-PATH=/sbin:/bin:/usr/bin:/usr/sbin
|
|
-prog="auditd"
|
|
-. /usr/libexec/audit-functions
|
|
-
|
|
printf "Reconfiguring: "
|
|
/sbin/augenrules --load
|
|
-killproc $prog -HUP
|
|
+/sbin/auditctl --signal reload
|
|
RETVAL=$?
|
|
echo
|
|
exit $RETVAL
|
|
diff --git a/init.d/auditd.resume b/init.d/auditd.resume
|
|
index 6852fd6..96189eb 100644
|
|
--- a/init.d/auditd.resume
|
|
+++ b/init.d/auditd.resume
|
|
@@ -5,12 +5,8 @@
|
|
# Check that we are root ... so non-root users stop here
|
|
test $(id -u) = 0 || exit 4
|
|
|
|
-PATH=/sbin:/bin:/usr/bin:/usr/sbin
|
|
-prog="auditd"
|
|
-. /usr/libexec/audit-functions
|
|
-
|
|
printf "Resuming logging: "
|
|
-killproc $prog -USR2
|
|
+/sbin/auditctl --signal resume
|
|
RETVAL=$?
|
|
echo
|
|
exit $RETVAL
|
|
diff --git a/init.d/auditd.rotate b/init.d/auditd.rotate
|
|
index 643b935..dcb12c2 100644
|
|
--- a/init.d/auditd.rotate
|
|
+++ b/init.d/auditd.rotate
|
|
@@ -5,12 +5,8 @@
|
|
# Check that we are root ... so non-root users stop here
|
|
test $(id -u) = 0 || exit 4
|
|
|
|
-PATH=/sbin:/bin:/usr/bin:/usr/sbin
|
|
-prog="auditd"
|
|
-. /usr/libexec/audit-functions
|
|
-
|
|
printf "Rotating logs: "
|
|
-killproc $prog -USR1
|
|
+/sbin/auditctl --signal rotate
|
|
RETVAL=$?
|
|
echo
|
|
exit $RETVAL
|
|
diff --git a/init.d/auditd.state b/init.d/auditd.state
|
|
index 4724c4f..6ae0845 100644
|
|
--- a/init.d/auditd.state
|
|
+++ b/init.d/auditd.state
|
|
@@ -6,12 +6,10 @@
|
|
test $(id -u) = 0 || exit 4
|
|
|
|
PATH=/sbin:/bin:/usr/bin:/usr/sbin
|
|
-prog="auditd"
|
|
state_file="/var/run/auditd.state"
|
|
-. /usr/libexec/audit-functions
|
|
|
|
printf "Getting auditd internal state: "
|
|
-killproc $prog -CONT
|
|
+/sbin/auditctl --signal state
|
|
RETVAL=$?
|
|
echo -e "\n"
|
|
sleep 1
|
|
diff --git a/init.d/auditd.stop b/init.d/auditd.stop
|
|
index d3fbc79..5049285 100644
|
|
--- a/init.d/auditd.stop
|
|
+++ b/init.d/auditd.stop
|
|
@@ -7,7 +7,6 @@ test $(id -u) = 0 || exit 4
|
|
|
|
PATH=/sbin:/bin:/usr/bin:/usr/sbin
|
|
prog="auditd"
|
|
-. /usr/libexec/audit-functions
|
|
pid=
|
|
p=$(pidof "$prog")
|
|
if [ -n "$p" ] ; then
|
|
@@ -15,7 +14,7 @@ if [ -n "$p" ] ; then
|
|
fi
|
|
|
|
printf "Stopping logging: "
|
|
-killproc $prog -TERM
|
|
+/sbin/auditctl --signal stop
|
|
RETVAL=$?
|
|
if [ -n "$pid" ] ; then
|
|
# Wait up to 20 seconds for auditd to shutdown
|
|
--
|
|
2.33.0
|
|
|