#1 Le 25/06/2010, à 17:25
- A.i.A
[Resolu] Auomatisation d'un script au démarrage
Salut à tous,
Voila, pour automatiser un script qui configure l'iptables et lance une commande d'IPS
j'ai crée le script appelé "Suricata_inlined" dans /etc/init.d/
### BEGIN INIT INFO
# Provides: scriptname
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
#!/bin/bash
#
# suricata_inline
start(){
# Démarrrer les démons.
#echo "Démarrage du module ip_queue:"
#lsmod | grep ip_queue >/dev/null || /sbin/modprobe ip_queue;
#
echo "Démarrage des règles iptables:"
# traffic iptables envoyé vers la QUEUE:
# accepte accept les connexions internes
iptables -A INPUT -i lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -o lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# envoie tous le traffic entrant, sortant et "forward" vers la QUEUE
iptables -A INPUT -j NFQUEUE
#iptables -A FORWARD -j NFQUEUE
iptables -A OUTPUT -j NFQUEUE
# Démarrage de suricata_inline
echo "Démarrage de suricata_inline: "
suricata -c /etc/suricata/suricata.yaml -q 0
# -Q -> process le traffic en queue
# -D -> lancer en tant que démon
# -v -> verbose
# -l -> chemin vers les journaux (log)
# -c -> chemin vers le fichier de configuration
}
stop() {
# Stopper les démons.
# Stopper suricata_Inline
# echo "Arrêt de suricata_inline: "
killall suricata
# Supprime toutes les règles iptables et
# configure les stratégies (policies) Netfilter par défaut à "accept"
echo "Suppression des règles iptables:"
iptables -F
# -F -> flush iptables
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
# -P -> stratégie (policy) par default
}
restart(){
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|restart}
exit 1
esac
Je lui ai ajouté le droit d'éxecution
et puis la commande
# update-rc.d suricata_inlined defaults
pour le démarrage automatique,
Mais après le redémarrage, les iptables fonctionne, mais pas la commande de lancement d'IPS
Je refais l'opération plus qu'une fois, et je ne comprends pas, pourquoi ma commande ne se lance pas,
pourtant si je fais :
# /etc/init.d/suricata_inlined start
sa marche très bien.
Merci de m'éclairer
Dernière modification par A.i.A (Le 15/07/2010, à 10:54)
Hors ligne
#2 Le 25/06/2010, à 22:25
- gotrunk
Re : [Resolu] Auomatisation d'un script au démarrage
Je ne connais pas cet outil mais j'ai regardé rapidement comment il se configure.
Dans le fichier de conf que tu lui donne (/etc/suricata/suricata.yaml) il y a le paramètre default-log-dir qui spécifie l'endroit où il écrit ses logs.
Par défaut c'est le répertoire /var/log/suricata donc ce qu'il faut que tu fasses c'est redémarrer ta machine et regarder tout de suite après le contenu des fichiers de ce répertoire à l'heure du démarrage. Tu trouvera certainement une indication qui te permettra de savoir ce qui l'a empêché de démarrer.
Personnellement je ne serais pas étonné qu'il ait besoin d'ouvrir des ports sur une interface (eth0 ou autre) qui n'est pas encore démarrée au moment où ton script est appelé lors d'un boot mais il faut confirmer ça à partir des logs.
Hors ligne
#3 Le 25/06/2010, à 23:45
- A.i.A
Re : [Resolu] Auomatisation d'un script au démarrage
Merci pour ta réponse,
Dans le fichier des logs, pas de nouveautés,
En fait c'est peut être sa le problème, Suricata est un systeme de prévention/détection d'intrusions, il prends les packets de iptables les comparent avec les regles d'anomalies, s'il détecte, il filtrent et empêche, et les relance encore une fois vers leur destination,
la commande # suricata -c /etc/suricata/suricata.yaml -q 0permet de lancer Suricate en-ligne,
Donc peu être l'interface n'est pas encore démarré,
Si c le cas, comment on peut activer l'interface avant le démarrage de la commande.
Encore une fois Merci
Cdt.
Dernière modification par A.i.A (Le 25/06/2010, à 23:46)
Hors ligne
#4 Le 26/06/2010, à 09:17
- gotrunk
Re : [Resolu] Auomatisation d'un script au démarrage
Voilà comment ça fonctionne:
Dès qu'une interface est activée (état up), le système exécute tous les scripts du répertoire /etc/network/if-up.d/
Réciproquement, lorsque l'interface est arrêtée (état down), il exécute les scripts du répertoire /etc/network/if-down.d/
Chaque script est exécuté avec un ensemble de variables d'environnement. La plus importante de ces variables est $IFACE qui contient le nom de l'interface que le système est en train de démarrer/arrêter. Cela permet de ne faire le traitement que pour l'interface qui t'intéresse.
Donc si tu ne t'intéresse qu'à l'interface eth0, il suffit de créer un script (avec le nom que tu veux) dans /etc/network/if-up.d/ et de le faire démarrer par quelque chose comme ça:
!/bin/sh
[ "$IFACE" == "etho" ] || exit 0
Après ça il suffit que tu colles le contenu de ta fonction start.
Et pareil pour l'arrêt de l'interface dans /etc/network/if-down.d/ avec le contenu de la fonction stop.
Pour tester tout ça:
sudo ifdown eth0 # Arrêt de l'interface
sudo ifup eth0 # Démarrage de l'interface
ou alors ça mais ça redémarre toutes les interfaces:
sudo restart networking # ou bien
sudo /etc/init.d/networking restart # si la commande précédente ne fonctionne pas chez toi
Hors ligne
#5 Le 29/06/2010, à 09:31
- A.i.A
Re : [Resolu] Auomatisation d'un script au démarrage
Bjr,
Donc je réécris les commandes de la fonction start encore une fois dans le fichier "upstart" dans le dossier /etc/network/if-down.d/
même chose pour stop, c sa ?
oubien je déplace (je supprime) tous mon script du init.d ?
oubien je laisse les commandes de iptables et je déplace juste la commande qui démarre âpres l'interface ?
En fait dans la commande # suricata -c /etc/suricata/suricata.yaml -q 0 je ne précise même pas l'interface.
Merci bien gotrunk
Dernière modification par A.i.A (Le 29/06/2010, à 09:46)
Hors ligne
#6 Le 29/06/2010, à 11:05
- A.i.A
Re : [Resolu] Auomatisation d'un script au démarrage
J'ai ajouté les ligne :
[ "$IFACE" == "etho" ] || exit 0
suricata -c /etc/suricata/suricata.yaml -q 0
dans /etc/network/if-down.d/upstart
Mais apres le reboot je remarque que la commande se lance 2 fois, !!!pourquoi !
Hors ligne
#7 Le 29/06/2010, à 14:03
- gotrunk
Re : [Resolu] Auomatisation d'un script au démarrage
Tout d'abord tu n'as plus besoin du script /etc/init.d/Suricata_inlined il faut que tu le désinstalles avec sudo update-rc.d suricata_inlined remove.
Si tu l'as toujours il sera lancé et c'est pour cela je pense que la commande est exécutée 2 fois.
Sinon pour les scripts if-up et if-down je te propose ça par rapport à ton script actuel:
fichier /etc/network/if-up.d/suricata :
#!/bin/sh
[ "$IFACE" == "etho" ] || exit 0
echo "Démarrage des règles iptables:"
# traffic iptables envoyé vers la QUEUE:
# accepte accept les connexions internes
iptables -A INPUT -i lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -o lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# envoie tous le traffic entrant, sortant et "forward" vers la QUEUE
iptables -A INPUT -j NFQUEUE
#iptables -A FORWARD -j NFQUEUE
iptables -A OUTPUT -j NFQUEUE
# Démarrage de suricata_inline
echo "Démarrage de suricata: "
suricata -c /etc/suricata/suricata.yaml -q 0
et pour le fichier /etc/network/if-down.d/suricata :
#!/bin/sh
[ "$IFACE" == "etho" ] || exit 0
# Stopper les démons.
# Stopper suricata_Inline
echo "Arrêt de suricata..."
killall suricata
# Supprime toutes les règles iptables et
# configure les stratégies (policies) Netfilter par défaut à "accept"
echo "Suppression des règles iptables:"
iptables -F
# -F -> flush iptables
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
# -P -> stratégie (policy) par default
ensuite :
sudo restart networking # ou bien
sudo /etc/init.d/networking restart
PS:
Même si tu ne précises pas d'interface sur la ligne de commandes, tu le fait dans le fichier de conf suricata.yaml.
Dernière modification par gotrunk (Le 29/06/2010, à 14:07)
Hors ligne
#8 Le 29/06/2010, à 15:54
- A.i.A
Re : [Resolu] Auomatisation d'un script au démarrage
Bjr,
J'ai desintallé avec # update-rc.d suricata_inlined et suppriméle premier script (suricata_inlined) de init.d
J'ai crée les 2 fichiers avec script, ajouté le droit d'excution, mais cette fois, rien ne se passe apres redémarrage ou apres relancement du network
même les tables sont vides
en fait au début, quand j'avais la commandé lancé 2 fois, je l'avais ajouté une seule fois dans le fichier upstart.
Merciiii
Hors ligne
#9 Le 29/06/2010, à 17:17
- A.i.A
Re : [Resolu] Auomatisation d'un script au démarrage
Je comprends pas comment sa marche :s
bon, je viens de tester une autre méthode :
Par le mode graphique, je sais pas si c'est une bonne méthode ou pas :
le menu Système > Préférences > Sessions (Startup Application)
J'ai ajouté ma commande: suricata .........
après le redémarrage, elle est lancée,
alors mnt il me suffit de remplir les iptables.
Qu'en pensez vous ??!!
Hors ligne
#10 Le 29/06/2010, à 19:14
- gotrunk
Re : [Resolu] Auomatisation d'un script au démarrage
Cela ne fonctionnera qu'avec ta session et que lorsque tu l'auras ouverte, mais si ça te convient ok.
Sinon les 2 scripts tu les avait bien rendu exécutable ?
Dans ces script tu peux ajouter des lignes echo ... pour suivre ce qui se passe lorsque la commande sudo restart networking est exécutée.
Et pour être certain que les scripts soient appelés tu peux faire "sudo ifdown eth0" suivi de "sudo ifup eth0".
Hors ligne
#11 Le 29/06/2010, à 19:30
- gotrunk
Re : [Resolu] Auomatisation d'un script au démarrage
Tiens je viens de m'apercevoir d'un truc, dans les scripts j'ai écrit n'importe quoi.
Dans le test: [ "$IFACE" == "etho" ] || exit 0
C'est eth0 qu'il faut mettre, pas etho dsl
Hors ligne
#12 Le 29/06/2010, à 20:07
- A.i.A
Re : [Resolu] Auomatisation d'un script au démarrage
voici le message que j'obtien
root@ubuntu:/home/anas# restart networking restart
restart: Env must be KEY=VALUE pairs
j'ai aussi ceci:
root@ubuntu:/etc/network/if-up.d# sudo /etc/init.d/networking restart
* Reconfiguring network interfaces...
Ignoring unknown interface eth0=eth0. [ OK ]
root@ubuntu:/etc/network/if-up.d# sudo ifup eth0
Ignoring unknown interface eth0=eth0.
Rendre le fichier exécutable c'est !
#chmod 755 suricata
Hors ligne
#13 Le 29/06/2010, à 20:30
- A.i.A
Re : [Resolu] Auomatisation d'un script au démarrage
Merci bcp pour ton aide,
Mais toujours même problème, même message d'erreur !
root@ubuntu:/home/anas# ifup eth0
Ignoring unknown interface eth0=eth0.
root@ubuntu:/home/anas# ifdown eth0
ifdown: interface eth0 not configured
y a aussi :
[b]root@ubuntu:/home/anas#[/b] sudo /etc/init.d/networking restart
* Reconfiguring network interfaces... [ OK ]
[b]root@ubuntu:/home/anas#[/b] sudo /etc/init.d/networking stop
* Deconfiguring network interfaces... [ OK ]
[b]root@ubuntu:/home/anas#[/b] sudo /etc/init.d/networking start
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service networking start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start networking
networking stop/waiting
Hors ligne
#14 Le 29/06/2010, à 21:16
- gotrunk
Re : [Resolu] Auomatisation d'un script au démarrage
Je viens de faire quelques tests et il y a 3 erreurs (chuis pas bien réveillé là ):
1 - Les scripts contiennent des erreurs
2 - Il faut pas appeler les scripts suricata sinon le killall va tuer le script (suicide )
3 - l'erreur Ignoring unknown interface eth0=eth0 signifie que cette interface est gérée par network manager donc pour l'activer/désactiver il faut cliquer sur le network manager dans la zone de notification de ton bureau et sélectionner "Se déconnecter", puis "Auto eth0"
Voici les scripts modifiés et testés:
/etc/network/if-up.d/suricata_ifup
#!/bin/sh
if [ "$IFACE" != "eth0" ]
then
exit 0
fi
logger -t suricata_ifup "Démarrage des règles iptables:"
# traffic iptables envoyé vers la QUEUE:
logger -t suricata_ifup "Accepte accept les connexions internes"
iptables -A INPUT -i lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -o lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
logger -t suricata_ifup "Envoie tous le traffic entrant, sortant et 'forward' vers la QUEUE"
iptables -A INPUT -j NFQUEUE
iptables -A OUTPUT -j NFQUEUE
logger -t suricata_ifup "Démarrage du démon suricata"
suricata -c /etc/suricata/suricata.yaml -q 0
if [ $? -ne 0 ]
then
logger -t suricata_ifup "Erreur de démarrage de suricata"
exit 0
fi
logger -t suricata_ifup "Démon suricata démarré !"
/etc/network/if-down.d/suricata_ifdown
#!/bin/sh
if [ "$IFACE" != "eth0" ]
then
exit 0
fi
# Stopper suricata_Inline
logger -t suricata_ifdown "Arret de suricata..."
RESULT=$(/usr/bin/killall suricata 2>&1)
logger -t suricata_ifdown "Resultat: $RESULT"
# Supprime toutes les règles iptables et
# configure les stratégies (policies) Netfilter par défaut à "accept"
logger -t suricata_ifdown "Suppression des regles iptables"
iptables -F
# -F -> flush iptables
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
# -P -> stratégie (policy) par default
logger -t suricata_ifdown "Demon suricata arrete !"
Tu remarquera au passage que j'ai changé les "echo" par des "logger -t xxx texte". En effet lorsque tu vas arrêter/démarrer l'interface avec network manager tu n'aura plus de console donc tu ne verra plus les traces.
La commande logger envoi des traces au serveur syslog de ta machine. Ainsi après chaque opération, tu n'aura qu'à attendre quelques secondes puis taper la commande suivante qui va t'afficher ce que les scripts ont effectué:
tail /var/log/syslog
ça donne ce genre de résultat, bien entendu chez moi j'ai une erreur puisque j'ai pas suricata
Network manager => "Auto eth0"
... puis dans un terminal:
tail /var/log/syslog
Jun 29 22:02:22 Phenom-II suricata_ifup: Démarrage des règles iptables:
Jun 29 22:02:22 Phenom-II suricata_ifup: Accepte accept les connexions internes
Jun 29 22:02:22 Phenom-II suricata_ifup: Envoie tous le traffic entrant, sortant et 'forward' vers la QUEUE
Jun 29 22:02:22 Phenom-II suricata_ifup: Démarrage du démon suricata
Jun 29 22:02:22 Phenom-II suricata_ifup: Erreur de démarrage de suricata
Network manager => "Se déconnecter"
... puis dans un terminal:
tail /var/log/syslog
Jun 29 22:04:55 Phenom-II suricata_ifdown: Arret de suricata...
Jun 29 22:04:55 Phenom-II suricata_ifdown: Resultat: suricata : aucun processus trouvé
Jun 29 22:04:55 Phenom-II suricata_ifdown: Suppression des regles iptables
Jun 29 22:04:56 Phenom-II suricata_ifdown: Demon suricata arrete !
Autre avantage: ces log fonctionnent même lorsque tu démarres la machine donc après démarrage tu pourras voir ce qui s'est passé.
J'espère que ça ira mieux avec ça, bon courage.
Hors ligne
#15 Le 02/07/2010, à 09:14
- A.i.A
Re : [Resolu] Auomatisation d'un script au démarrage
Bjr,
Tu es tro genial mon ami gotrunk, sa marche
Mais, Voici ce que j'ai maintenant : (c'est pa sun probleme ?)
root@ubuntu:/home/anas# ps aux | grep suri*
root 1265 0.0 0.0 1828 536 ? S 16:30 0:00 /bin/sh /etc/network/if-up.d/suricata_ifup
root 1283 90.6 9.3 115268 113484 ? R 16:30 0:17 suricata -c /etc/suricata/suricata.yaml -q 0
root 1287 0.0 0.0 3320 816 pts/0 S+ 16:31 0:00 grep --color=auto suri*
Pour récapituler:
- Tu as ajouté :
if [ "$IFACE" != "eth0" ]
then
exit 0
fi
Pour lui dire que ce script doit être appliqué sur cet interface !
c sa ?
parce-que maintenant je ne fais que des tests sur entre 2 machines
(Ma host et guest sur VMware)
Mais je dois mnt mettre l'IPS en-ligne (comme un Bridge) donc il aura 2 interfaces et il analysera les packets et les faire passer,
Comment on fera si j'ai 2 interfaces !?
et si tu permets d m'expliquer ce que veut dire ces 2 lignes :
RESULT=$(/usr/bin/killall suricata 2>&1)
logger -t suricata_ifdown "Resultat: $RESULT"
Merci beaucoup pour ton aide.
Hors ligne
#16 Le 02/07/2010, à 17:27
- A.i.A
Re : [Resolu] Auomatisation d'un script au démarrage
En fait le script de déconnexion ne marche pas,
Suricata reste en marche
et voici le syslog
root@ubuntu:/mnt# tail /var/log/syslog
Jul 2 17:24:43 ubuntu tpvmlpd[23456]: device type not supported
Jul 2 17:24:58 ubuntu tpvmlpd[23460]: device type not supported
Jul 2 17:24:58 ubuntu tpvmlpd[23367]: aborting
Jul 2 17:25:08 ubuntu NetworkManager: <info> (eth0): device state change: 8 -> 3 (reason 39)
Jul 2 17:25:08 ubuntu NetworkManager: <info> (eth0): deactivating device (reason: 39).
Jul 2 17:25:09 ubuntu NetworkManager: <info> (eth0): canceled DHCP transaction, dhcp client pid 23446
Jul 2 17:25:09 ubuntu NetworkManager: <WARN> check_one_route(): (eth0) error -34 returned from rtnl_route_del(): Sucess#012
Jul 2 17:25:09 ubuntu avahi-daemon[699]: Withdrawing address record for 192.168.44.139 on eth0.
Jul 2 17:25:09 ubuntu avahi-daemon[699]: Leaving mDNS multicast group on interface eth0.IPv4 with address 192.168.44.139.
Jul 2 17:25:09 ubuntu avahi-daemon[699]: Interface eth0.IPv4 no longer relevant for mDNS.
Hors ligne
#17 Le 02/07/2010, à 19:17
- gotrunk
Re : [Resolu] Auomatisation d'un script au démarrage
Cool
Bon on reprend dans l'ordre.
Pour lui dire que ce script doit être appliqué sur cet interface !
c sa ?
Oui c'est exactement ça.
Comment on fera si j'ai 2 interfaces !?
Comme ça:
if [ "$IFACE" != "eth0" ] && [ "$IFACE" != "br0" ]
then
exit 0
fi
et si tu permets d m'expliquer ce que veut dire ces 2 lignes :
RESULT=$(/usr/bin/killall suricata 2>&1)
logger -t suricata_ifdown "Resultat: $RESULT"
Tout d'abord il faut savoir que chaque exécutable possède 2 flux de sortie:
- stdout: chaque fois que tu fais printf dans un exe ou echo dans un script, le message est envoyé dans ce flux. Dans bash, ce flux porte le numéro 1,
- stderr: un exe peux envoyer ses messages d'erreur vers un flux spécifique aux erreurs en utilisant pas exemple fprintf(stderr, ...); dans le code. Dans bash, ce flux porte le numéro 2.
Cette séparation de flux permet à celui qui appelle l'exécutable de diriger la sortie standard (stdout) vers l'écran pour l'utilisateur et les erreurs vers un fichier ou autre.
Dans un script, la syntaxe variable=$(<commande>) signifie: exécute la commande, puis envoie le stdout de la commande dans la variable. Le problème est que cela ne fonctionne que pour stdout et s'il y a une erreur on ne la verra pas puisque stderr n'est pas redirigé.
Et ça c'est le but de la syntaxe 2>&1 (rappel: 2=stderr, 1=stdout). Elle indique à bash de renvoyer tout ce qui sort sur stderr vers stdout. Ainsi la variable contiendra tout le texte qui sort de la commande que ce soit du texte normal ou bien une erreur.
Donc la première ligne exécute la commande "killall suricata" et met le résultat dans la variable RESULT. Ensuite la deuxième ligne se contente d'envoyer ce texte au serveur syslog.
Mais, Voici ce que j'ai maintenant
root 1265 0.0 0.0 1828 536 ? S 16:30 0:00 /bin/sh /etc/network/if-up.d/suricata_ifup
Ok y a un petit problème dans le script de démarrage car il reste en marche
C'est parce que j'ai oublié de lancer suricata en tâche de fond. Le script attend qu'il ait terminé sauf qu'il ne termine jamais puisque c'est un démon
Faut donc adapter le script de démarrage:
Au lieu de ça:
suricata -c /etc/suricata/suricata.yaml -q 0
Il faut mettre ça:
suricata -c /etc/suricata/suricata.yaml -q 0 &
ça va le lancer en tâche de fond et continuer le script. Je ne serais pas étonné que ce soit ça qui fait que le script d'arrêt ne soit pas exécuté.
Hors ligne
#18 Le 06/07/2010, à 09:07
- A.i.A
Re : [Resolu] Auomatisation d'un script au démarrage
Gotrunk,
Je sais pas koi dire, mais tu es GENIAL, et Trop fort
Sa marche comme tu l'a indiqué et expliqué,
Merci beaucoup,:)
Hors ligne
#19 Le 06/07/2010, à 09:09
- A.i.A
Re : [Resolu] Auomatisation d'un script au démarrage
En fait, il est ou le bouton "résolu" !?
C'est parce que j'ai oublié de lancer suricata en tâche de fond. Le script attend qu'il ait terminé sauf qu'il ne termine jamais puisque c'est un démon
suricata -c /etc/suricata/suricata.yaml -q 0 &
ça va le lancer en tâche de fond et continuer le script. Je ne serais pas étonné que ce soit ça qui fait que le script d'arrêt ne soit pas exécuté.
Tache de fond != Démon ???
n'est pas
Je croyais que c'est la même chose !!:rolleyes:
Dernière modification par A.i.A (Le 06/07/2010, à 09:55)
Hors ligne
#20 Le 06/07/2010, à 20:31
- gotrunk
Re : [Resolu] Auomatisation d'un script au démarrage
Je suis bien content de t'avoir aidé, ce fut un plaisir
Concernant tes questions
Tache de fond != Démon ???
Je croyais que c'est la même chose !!
Si c'est la même chose, j'ai écrit un peu vite. Ce que je voulais dire c'est que lorsque le process suricata est lancé il ne s'arrête plus jusqu'à l'arrêt de la machine, donc il bloquait le script qui à son tour bloquait le processus de démarrage de l'interface.
Le fait de rajouter le '&' à la fin de la commande indique à bash qu'il doit lancer le process en tâche de fond (en démon) et continuer à exécuter le script.
En fait, il est ou le bouton "résolu" !?
Il faut juste que tu édites ton premier post et là tu peux changer le titre en rajoutant [résolu] au début du titre, il n'y a pas de bouton pour l'automatiser, je trouve ça dommage d'ailleurs.
Bon courage,
A+
Hors ligne