From 945f4ccb6ba8a32a174b32aa0024bba0ae750764 Mon Sep 17 00:00:00 2001 From: jfmartel Date: Tue, 26 Sep 2017 08:40:10 -0400 Subject: [PATCH] Ajout des scripts pour permettre l'utilisation du port 502 sans root --- Configuration/ZT.cfg | 2 +- FwdPort.sh | 5 +++++ SetPortCap.sh | 14 ++++++++++++++ ZT.pro | 4 +++- 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100755 FwdPort.sh create mode 100755 SetPortCap.sh diff --git a/Configuration/ZT.cfg b/Configuration/ZT.cfg index 8de50fe..3508bfa 100644 --- a/Configuration/ZT.cfg +++ b/Configuration/ZT.cfg @@ -51,7 +51,7 @@ UTILISER_MODBUS_CC=OUI #Adresse modbus de la ZT MODBUS_CC_DEVID=1 #Port Modbus/TCP -MODBUS_CC_PORT=2182 +MODBUS_CC_PORT=502 #---------------------------------- #Changer cette valeur à OUI ou NON pour activer le diff --git a/FwdPort.sh b/FwdPort.sh new file mode 100755 index 0000000..ac20b2a --- /dev/null +++ b/FwdPort.sh @@ -0,0 +1,5 @@ +#!/bin/bash +# + +echo "prerouting port 205 to port 2182" +sudo -n iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 205 -j REDIRECT --to-port 2182 diff --git a/SetPortCap.sh b/SetPortCap.sh new file mode 100755 index 0000000..9c796fc --- /dev/null +++ b/SetPortCap.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +# Ce script change les "capabilities" de l'exécutable afin de lui permettre d'ouvrir un port TCP inférieur à 1024 +# (port Modbus 502) sans avoir les privilèges ROOT. +# Pour que le script fonctionne, il faut ajouter les permissions d'accès dans visudo. (execution de sudo -n). + + +if [ $1 = release ]; then + echo "Changement des permissions de l'exécutable RELEASE" + sudo -n setcap cap_net_bind_service=ep /home/zonetest/DevZT/ZT/Release/ZT +else + echo "Changement des permissions de l'exécutable DEBUG" + sudo -n setcap cap_net_bind_service=ep /home/zonetest/DevZT/ZT/Debug/ZT +fi diff --git a/ZT.pro b/ZT.pro index aa52adf..0a7ac1c 100644 --- a/ZT.pro +++ b/ZT.pro @@ -283,7 +283,9 @@ OTHER_FILES += \ Configuration/ZT.cfg \ StartZT \ GetSources.sh \ - FTPGetSources.sh + FTPGetSources.sh \ + FwdPort.sh \ + SetPortCap.sh INCLUDEPATH += $$PWD/ \ $$PWD/SeaMaxLinux/ \