Browse Source

Fix errors and improve v-add/delete-sys-firewall

myrevery 4 years ago
parent
commit
2ac2858a78
4 changed files with 18 additions and 22 deletions
  1. 6 12
      bin/v-add-sys-firewall
  2. 4 8
      bin/v-delete-sys-firewall
  3. 6 1
      bin/v-stop-firewall
  4. 2 1
      bin/v-update-firewall

+ 6 - 12
bin/v-add-sys-firewall

@@ -1,7 +1,7 @@
 #!/bin/bash
 # info: add system firewall
 # options: NONE
-# labels: 
+# labels: panel
 #
 # example: v-add-sys-firewall
 #
@@ -30,25 +30,18 @@ fi
 # Perform verification if read-only mode is enabled
 check_hestia_demo_mode
 
+
 #----------------------------------------------------------#
 #                       Action                             #
 #----------------------------------------------------------#
 
-# Adding firewall directory
-mkdir -p $HESTIA/data/firewall/
-
 # Adding default ruleset
-if [ ! -e "$HESTIA/data/firewall/rules.conf" ]; then
-    cp $HESTIA/install/rhel/7/* $HESTIA/data/firewall/
+if [ -z "$(ls -A $HESTIA/data/firewall 2>/dev/null)" ]; then
+    cp -rf $HESTIA_INSTALL_DIR/firewall $HESTIA/data/
 fi
 
 # Updating FIREWAL_SYSTEM value
-if [ -z "$(grep FIREWALL_SYSTEM $HESTIA/conf/hestia.conf)" ]; then
-    echo "FIREWALL_SYSTEM='iptables'" >> $HESTIA/conf/hestia.conf
-else
-    sed -i "s/FIREWALL_SYSTEM.*/FIREWALL_SYSTEM='iptables'/g" \
-        $HESTIA/conf/hestia.conf
-fi
+$BIN/v-change-sys-config-value "FIREWALL_SYSTEM" "iptables"
 
 # Updating firewall rules
 $BIN/v-update-firewall
@@ -59,6 +52,7 @@ $BIN/v-update-firewall
 #----------------------------------------------------------#
 
 # Logging
+$BIN/v-log-action "system" "Info" "Firewall" "System firewall enabled."
 log_event "$OK" "$ARGUMENTS"
 
 exit

+ 4 - 8
bin/v-delete-sys-firewall

@@ -35,23 +35,19 @@ check_hestia_demo_mode
 #                       Action                             #
 #----------------------------------------------------------#
 
+# Updating FIREWALL_SYSTEM value
+$BIN/v-change-sys-config-value "FIREWALL_SYSTEM" ""
+
 # Stopping firewall
 $BIN/v-stop-firewall
 
-# Updating FIREWALL_SYSTEM value
-if [ -z "$(grep FIREWALL_SYSTEM $HESTIA/conf/hestia.conf)" ]; then
-    echo "FIREWALL_SYSTEM=''" >> $HESTIA/conf/hestia.conf
-else
-    sed -i "s/FIREWALL_SYSTEM=.*/FIREWALL_SYSTEM=''/g" $HESTIA/conf/hestia.conf
-fi
-
 
 #----------------------------------------------------------#
 #                       Hestia                             #
 #----------------------------------------------------------#
 
 # Logging
-$BIN/v-log-action "system" "Error" "Firewall" "System firewall has been disabled."
+$BIN/v-log-action "system" "Warning" "Firewall" "System firewall disabled."
 log_event "$OK" "$ARGUMENTS"
 
 exit

+ 6 - 1
bin/v-stop-firewall

@@ -76,7 +76,7 @@ if [ -d "/etc/sysconfig" ]; then
     fi
 else
     /sbin/iptables-save > /etc/iptables.rules
-    iptablesversion=$(iptables --version |  head -1 | awk  '{print $2}' | cut -f -2 -d .);
+    iptablesversion=$(iptables --version | head -1 | awk '{print $2}' | cut -f -2 -d .);
     sd_unit="/lib/systemd/system/hestia-iptables.service"
     if [ ! -e "$sd_unit" ]; then
         echo "[Unit]" >> $sd_unit
@@ -98,8 +98,13 @@ else
         echo "" >> $sd_unit
         echo "[Install]" >> $sd_unit
         echo "WantedBy=multi-user.target" >> $sd_unit
+        systemctl daemon-reload
     fi
     systemctl is-enabled hestia-iptables >/dev/null 2>&1 && systemctl disable hestia-iptables >/dev/null 2>&1
+    if [ -z "$FIREWALL_SYSTEM" ]; then
+        rm -f $sd_unit
+        systemctl daemon-reload
+    fi
 fi
 
 

+ 2 - 1
bin/v-update-firewall

@@ -185,7 +185,7 @@ if [ -d "/etc/sysconfig" ]; then
     fi
 else
     /sbin/iptables-save > /etc/iptables.rules
-    iptablesversion=$(iptables --version |  head -1 | awk  '{print $2}' | cut -f -2 -d .);
+    iptablesversion=$(iptables --version | head -1 | awk '{print $2}' | cut -f -2 -d .);
     sd_unit="/lib/systemd/system/hestia-iptables.service"
     if [ ! -e "$sd_unit" ]; then
         echo "[Unit]" >> $sd_unit
@@ -207,6 +207,7 @@ else
         echo "" >> $sd_unit
         echo "[Install]" >> $sd_unit
         echo "WantedBy=multi-user.target" >> $sd_unit
+        systemctl daemon-reload
     fi
     systemctl is-enabled hestia-iptables >/dev/null 2>&1 || systemctl enable hestia-iptables >/dev/null 2>&1
 fi