summaryrefslogtreecommitdiff
path: root/system/usbguard/config/rc.usbguard
diff options
context:
space:
mode:
Diffstat (limited to 'system/usbguard/config/rc.usbguard')
-rw-r--r--system/usbguard/config/rc.usbguard63
1 files changed, 63 insertions, 0 deletions
diff --git a/system/usbguard/config/rc.usbguard b/system/usbguard/config/rc.usbguard
new file mode 100644
index 0000000000..71f7975d24
--- /dev/null
+++ b/system/usbguard/config/rc.usbguard
@@ -0,0 +1,63 @@
+#!/bin/sh
+#
+# Start/Stop/Restart the USBGuard daemon.
+#
+
+PIDFILE=/var/run/usbguard.pid
+USBGUARD_OPTS="-f -s"
+
+# Start
+usbguard_start() {
+ if [ -x /usr/sbin/usbguard-daemon ]; then
+ if [ -e "$PIDFILE" ]; then
+ echo "USBGuard daemon already started!"
+ else
+ echo "Starting USBGuard daemon..."
+ /usr/sbin/usbguard-daemon $USBGUARD_OPTS
+ fi
+ fi
+}
+
+# Stop
+usbguard_stop() {
+ echo "Stopping USBGuard daemon..."
+ if [ -e "$PIDFILE" ]; then
+ kill $(cat $PIDFILE)
+ rm -f $PIDFILE 2>&1 >/dev/null
+ fi
+ # Just in case:
+ killall usbguard-daemon 2>&1 >/dev/null
+}
+
+# Restart
+usbguard_restart() {
+ usbguard_stop
+ sleep 3
+ usbguard_start
+}
+
+# Status
+usbguard_status() {
+ if [ -e "$PIDFILE" ]; then
+ echo "usbguard-daemon is running."
+ else
+ echo "usbguard-daemon is stopped."
+ fi
+}
+
+case "$1" in
+'start')
+ usbguard_start
+ ;;
+'stop')
+ usbguard_stop
+ ;;
+'restart')
+ usbguard_restart
+ ;;
+'status')
+ usbguard_status
+ ;;
+*)
+ echo "usage: $0 start|stop|restart|status"
+esac