É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:

[pastacode lang= »bash » manual= »%23!%2Fbin%2Fsh%0A%0A%20%20%20%20%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%20%20%20%20%23%20Creation%3A%20Romain%20J.%0A%20%20%20%20%23%20Derniere%20Modification%3A%0A%20%20%20%20%23%20%0A%20%20%20%20%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%0A%0A%20%20%20%20STATE_OK%3D0%0A%20%20%20%20STATE_WARNING%3D1%0A%20%20%20%20STATE_CRITICAL%3D2%0A%20%20%20%20STATE_UNKNOWN%3D3%0A%20%20%20%20STATE_DEPENDENT%3D4%0A%0A%20%20%20%20ls%20-al%20fichier%0A%20%20%20%20STATE%3D%24%3F%0A%20%20%20%20if%20%5B%20%22%24STATE%22%20%3D%20%22%24STATE_OK%22%20%5D%0A%20%20%20%20then%0A%20%20%20%20echo%20%22Fichier%20OK%22%0A%20%20%20%20exit%200%0A%20%20%20%20else%0A%20%20%20%20echo%20%22Fichier%20pas%20Ok%22%0A%20%20%20%20exit%20%24STATE_CRITICAL%0A%20%20%20%20fi » message= »Modèle de service » highlight= » » provider= »manual »/]

 

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