Étiquette : service

8 octobre 2018 /

Pour cela, il nous suffit de créer le fichier contenant le script de la sonde:

vi /usr/lib/nagios/plugins/check_test

Et de mettre cela dedans:

Modèle de service
#!/bin/sh

    ##################################################################
    # Creation: Romain J.
    # Derniere Modification:
    # 
    ##################################################################

    STATE_OK=0
    STATE_WARNING=1
    STATE_CRITICAL=2
    STATE_UNKNOWN=3
    STATE_DEPENDENT=4

    ls -al fichier
    STATE=$?
    if [ "$STATE" = "$STATE_OK" ]
    then
    echo "Fichier OK"
    exit 0
    else
    echo "Fichier pas Ok"
    exit $STATE_CRITICAL
    fi

 

13 avril 2016 /

Pour un programme /usr/local/bin/test.sh, on va créer un fichier test.service dans le répertoire de configuration de Systemd, /etc/systemd/system/ :

vi /etc/systemd/system/test.service

Et on y mets ça:

[Unit]
Description=Mon service test
After=tlp-init.service

[Service]
Type=oneshot
RemainAfterExit=no
User=starmate

ExecStart=/usr/local/bin/test.sh

[Install]
WantedBy=multi-user.target

On démarre le service:

systemctl start test.service

Puis on l’active au démarrage :

systemctl enable test.service

18 janvier 2016 /

1 – Création d’un script de démarrage

On commence par écrire nos règles de démarrage d’iptables dans un fichier texte, ici /etc/iptables/start.sh :

#!/bin/sh

# Réinitialise les règles
iptables -t filter -F
iptables -t filter -X

# Bloque tout le trafic
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP

# Autorise les connexions déjà établies et localhost
iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

# DNS entrée/sortie
iptables -t filter -A OUTPUT -p tcp –dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp –dport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp –dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp –dport 53 -j ACCEPT

# SSH
iptables -t filter -A INPUT -p tcp –dport 22 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp –dport 22 -j ACCEPT

# HTTP/HTTPS
iptables -t filter -A OUTPUT -p tcp –dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp –dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp –dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp –dport 443 -j ACCEPT

# Ping – ICMP
iptables -t filter -A OUTPUT -p icmp -j ACCEPT
iptables -t filter -A INPUT -p icmp -j ACCEPT

On oublie pas de rendre exécutable le script:

chmod +x /etc/iptables/start.sh

2 – Création d’un script d’arrêt

Puis nos règles d’arrêt iptables, ici /etc/iptables/stop.sh :

#!/bin/sh

# Flush all rules
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

on rend le script exécutable:

chmod +x /etc/iptables/stop.sh

3 – Création d’un service

Il ne nous reste plus qu’a créé le service dans /etc/init.d/, dans l’exemple il porte le nom « iptables_service ».

#!/bin/sh

SERVICE_NAME=iptables_service
SERVICE_DIRECTORY=/etc/iptables/
SERVICE_STARTUP_SCRIPT=start.sh
SERVICE_SHUTDOWN_SCRIPT=stop.sh

## Functions ##
usage()
{
echo « ———————–« 
echo « Usage: $0 (stop|start|restart) »
echo « ———————–« 
}
service_start()
{
echo « Starting service ‘${SERVICE_NAME}’… »
OWD=`pwd`
cd ${SERVICE_DIRECTORY} ./${SERVICE_STARTUP_SCRIPT}
cd $OWD
echo « Service ‘${SERVICE_NAME}’ started successfully »
}
service_stop()
{
echo « Stopping service ‘${SERVICE_NAME}’… »
OWD=`pwd`
cd ${SERVICE_DIRECTORY} && ./${SERVICE_SHUTDOWN_SCRIPT}
cd $OWD
echo « Service ‘${SERVICE_NAME}’ stopped »
}

## Main ##
if [ -z $1 ]; then
usage
fi

case $1 in
stop)
service_stop
;;
start)
service_start
;;
restart)
service_stop
service_start
;;
*)
usage
esac
exit 0

On le rend exécutable:

chmod +x /etc/init.d/iptables_service

Maintenant, pour démarrer le service:

service iptables_service start

ou

/etc/init.d/iptables_service start

Le redémarrer:

service iptables_service restart

ou

/etc/init.d/iptables_service restart

L’arrêter:

service iptables_service stop

ou

/etc/init.d/iptables_service stop