Debian Debian-France Debian-Facile Debian-fr.org Debian-fr.xyz Debian ? Communautés

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 19-09-2021 17:14:20

GGB
Membre
Distrib. : Bullseye
Noyau : 5.10.0-8-amd64
(G)UI : Gnome
Inscription : 29-07-2019

[résolu] Problème macchanger à l'extinction : a stop job is running

Bonjour,

J'ai longuement parcouru les forums sans trouver de solution. Voilà, je voudrais que mon adresse MAC change à chaque démarrage d'ordinateur. Pour cela j'ai d'abord télécharger le paquet macchanger et je lui ai demandé de mettre une adresse MAC aléatoire de manière automatique à chaque démarrage. Mais il ne le fait pas, mon adresse reste inchangée. Je ne sais pas pourquoi.

j'ai donc fait un petit script macchanger que j'ai mis dans le dossier /etc/init.d

#!/bin/bash

### BEGIN INIT INFO
# Provides:          macchanger-wifi.sh
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: changement de l'adresse mac pour la connexion wifi
# Description:       changement de l'adresse mac pour la connexion wifi
### END INIT INFO

systemctl stop NetworkManager.service
sudo macchanger -e wlp2s0 ;
systemctl start NetworkManager.service
 



Ce script fonctionne. Au démarrage, l'adresse mac est changée.
Par contre, à l'extinction de mon ordinateur, il s'éteind au bout de plus de 5 mn, en indiquant

a stop job is running for LSB: changement de l'adresse mac pour la connexion wifi



Je n'ai pas trouvé comment faire pour éviter ces 5 minutes d'attente avant extinction ?
Y a-t-il quelque chose à changer dans mon script ?

Merci d'avance pour les coups de pouce

Dernière modification par GGB (19-09-2021 22:58:36)

Hors ligne

#2 19-09-2021 19:31:23

Tawal
Membre
Distrib. : Debian 11 Bullseye
Noyau : Linux 5.10.0-10-amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : [résolu] Problème macchanger à l'extinction : a stop job is running

Hello,

Tu n'as pas de condition pour le "start" et le "stop".
Mets un case dans ton code pour différencier ces modes.
Par exemple :

#!/bin/bash

### BEGIN INIT INFO
# Provides:          macchanger-wifi.sh
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: changement de l'adresse mac pour la connexion wifi
# Description:       changement de l'adresse mac pour la connexion wifi
### END INIT INFO

source /lib/lsb/init-functions

case "$1" in
    start)
              log_action_msg "macchanger : changement adresse MAC"
              systemctl stop NetworkManager.service
              macchanger -e wlp2s0 ;
              systemctl start NetworkManager.service
              ;;
    stop)  
              log_action_msg "macchanger : arrêt"
              ;;
esac


J'ai rajouté des messages que tu retrouveras dans les logs. (source /lib/lsb/init-functions + log_action_msg "....")
Comme ça, tu sais ce qu'il se passe et quand wink
De plus le "sudo" pour macchanger n'est pas nécessaire wink

Edit:
optimisation du script (pas besoin du exit 0 dans le cas stop)

Edit2:
Sans le case, lors de l'arrêt, le script ré-exécute le changement d'adresse MAC et redémarre le NetwokManager.service.
C'est pour ça que tu attends 5min avant l'arrêt à mon avis (AMHA)

Dernière modification par Tawal (19-09-2021 19:39:32)


Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#3 19-09-2021 19:56:31

GGB
Membre
Distrib. : Bullseye
Noyau : 5.10.0-8-amd64
(G)UI : Gnome
Inscription : 29-07-2019

Re : [résolu] Problème macchanger à l'extinction : a stop job is running

Merci, j'ai essayé ton script mais ça ne me change plus l'adresse MAC. Par contre, mon ordi s'éteind correctement...
J'ai copié le script dans /etc/init.d/
puis dans un terminal en mode root :

update-rc.d macchanger-wifi.sh defaults



J'ai éteind l'ordi, et rallumé. Pas de changement de l'adresse MAC.

ça marchait chez toi ?

Hors ligne

#4 19-09-2021 20:12:08

Tawal
Membre
Distrib. : Debian 11 Bullseye
Noyau : Linux 5.10.0-10-amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : [résolu] Problème macchanger à l'extinction : a stop job is running

Bon, il faut peut-être le "sudo" pour macchanger, mais ça m'étonnerait et ne serait l'expliquer pourquoi.

Edit:
Pas testé chez moi, je n'utilise pas macchanger.
Mais j'ai déjà utilisé ce genre de scripts et ils fonctionnaient très bien à l'époque du systV.
Maintenant, ce n'est plus systV mais systemd qui gère, la différence se fait peut-être là.

Dernière modification par Tawal (19-09-2021 20:15:57)


Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#5 19-09-2021 20:21:27

GGB
Membre
Distrib. : Bullseye
Noyau : 5.10.0-8-amd64
(G)UI : Gnome
Inscription : 29-07-2019

Re : [résolu] Problème macchanger à l'extinction : a stop job is running

Nope, ça ne change rien effectivement.

Si je lance le script dans un terminal il me dit

/etc/init.d/macchanger-wifi.sh: 13: source: not found



j'ai enlevé la ligne 13

source /lib/lsb/init-functions



et j'ai relancé le script, ça ne change toujours pas l'adresse MAC...

Hors ligne

#6 19-09-2021 22:32:15

Tawal
Membre
Distrib. : Debian 11 Bullseye
Noyau : Linux 5.10.0-10-amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : [résolu] Problème macchanger à l'extinction : a stop job is running

Il faut peut-être mettre le chemin complet du binaire macchanger (/usr/bin/macchanger)

Mais je pense qu'il vaut mieux créer un service systemd plutôt que d'utiliser l'initd.

Crée un fichier macchanger-wifi.service dans /etc/systemd/system contenant :

[Unit]
Description=macchanger - Changement adresse MAC
Before=network.target
 
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/macchanger -e wlp2s0 ;



Puis lance cette commande pour activer le service :

systemctl enable macchanger-wifi.service



Redémarre, regarde si l'adresse a changé et vérifie que le service est lancé avec :

systemctl status macchanger-wifi.service



Edit:
que renvoie la commande :

ls -l /lib/lsb/init-functions

Dernière modification par Tawal (19-09-2021 22:36:36)


Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#7 19-09-2021 22:49:34

GGB
Membre
Distrib. : Bullseye
Noyau : 5.10.0-8-amd64
(G)UI : Gnome
Inscription : 29-07-2019

Re : [résolu] Problème macchanger à l'extinction : a stop job is running

Alors la commande

systemctl enable macchanger-wifi.service


renvoit un problème :

The unit files have no installation config (WantedBy=, RequiredBy=, Also=,
Alias= settings in the [Install] section, and DefaultInstance= for template
units). This means they are not meant to be enabled using systemctl.
 
Possible reasons for having this kind of units are:
• A unit may be statically enabled by being symlinked from another unit's
  .wants/ or .requires/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
  a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
  D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
  instance name specified.
 



donc quand je demande le statut du service macchanger j'ai

● macchanger-wifi.service - macchanger - Changement adresse MAC
     Loaded: loaded (/etc/systemd/system/macchanger-wifi.service; static)
     Active: inactive (dead)



et la commande

ls -l /lib/lsb/init-functions


renvoit

-rw-r--r-- 1 root root 11526 16 juil.  2019 /lib/lsb/init-functions

Hors ligne

#8 19-09-2021 22:56:10

GGB
Membre
Distrib. : Bullseye
Noyau : 5.10.0-8-amd64
(G)UI : Gnome
Inscription : 29-07-2019

Re : [résolu] Problème macchanger à l'extinction : a stop job is running

C'est bon, j'ai ajouté

[Install]
WantedBy=multi-user.target
 


et ça marche !!

Hors ligne

#9 19-09-2021 22:57:39

GGB
Membre
Distrib. : Bullseye
Noyau : 5.10.0-8-amd64
(G)UI : Gnome
Inscription : 29-07-2019

Re : [résolu] Problème macchanger à l'extinction : a stop job is running

ça donne pour le fichier macchanger-wifi.service

[Unit]
Description=macchanger - Changement adresse MAC
Before=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/macchanger -e wlp2s0 ;

[Install]
WantedBy=multi-user.target

 



Au démarrage l'adresse MAC est changée et le statut du service est actif.
Merci beaucoup pour ton aide !

Hors ligne

#10 19-09-2021 23:15:48

Tawal
Membre
Distrib. : Debian 11 Bullseye
Noyau : Linux 5.10.0-10-amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : [résolu] Problème macchanger à l'extinction : a stop job is running

Ah oui, j'ai oublié la section [Install] autant pour moi.

Par contre ne garde pas le script dans /etc/init.d wink

Ne connaissant pas macchanger, je ne sais pas si le point-virgule en fin de commande est nécessaire ou pas.

Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#11 19-09-2021 23:44:25

GGB
Membre
Distrib. : Bullseye
Noyau : 5.10.0-8-amd64
(G)UI : Gnome
Inscription : 29-07-2019

Re : [résolu] Problème macchanger à l'extinction : a stop job is running

je ne sais pas si le point-virgule en fin de commande est nécessaire ou pas.


Ok je pourrais essayer sans, mais comme ça marche comme ça, je vais laisser. wink

Et oui j'ai viré le script inutile.
Merci !

Hors ligne

#12 20-09-2021 14:59:39

Tawal
Membre
Distrib. : Debian 11 Bullseye
Noyau : Linux 5.10.0-10-amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : [résolu] Problème macchanger à l'extinction : a stop job is running

GGB a écrit :

Ok je pourrais essayer sans, mais comme ça marche comme ça, je vais laisser.


Il faudrait consulter le man de macchanger pour savoir si le point-virgule fait partie de la syntaxe.

Ici : http://manpages.org/macchanger aucun point-virgule signalé dans la syntaxe, tu peux l'enlever (ce sera plus propre).

Edit:
Au fait, bien vu pour la section [Install] manquante wink

Dernière modification par Tawal (20-09-2021 15:01:15)


Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#13 21-09-2021 10:14:56

GGB
Membre
Distrib. : Bullseye
Noyau : 5.10.0-8-amd64
(G)UI : Gnome
Inscription : 29-07-2019

Re : [résolu] Problème macchanger à l'extinction : a stop job is running

Ok, je fais ça alors. Merci

Hors ligne

Pied de page des forums