Arrêter Windows et son routeur Linux

De Lea Linux
Aller à la navigation Aller à la recherche

Arrêter Windows et le routeur Linux d'un seul clic

Beaucoup de particuliers disposent pour partager leur connexion internet d'un routeur sous Linux. Pour des raisons d'économie d'énergie et de sécurité, ils ne laissent pas les machines de leur réseau domestique allumées 24h/24. Le but de cet article est de montrer comment automatiser l'arrêt d'un système sous Windows au même temps que la passerelle Linux du réseau domestique.


Prérequis

  • La passerelle Linux
    • serveur SSH
  • une machine sous Windows (supérieur à 2000)
    • le client SSH Putty
  • Réseaux
   Internet<---->Passerelle Linux<---->Windows

Côté Linux

Il faut d'abord créer un utilisateur qui dès la connexion lance une commande d'arrêt du système.

Créons alors un nouvel utilisateur myshutdown qui appartient à un groupe d'utilisateurs standards. Par défaut cet utilisateur ne peut pas lancer de commandes d'arrêt du système telles que halt, shutdown ou poweroff. Cette iterdiction peut être contournée en utilisant la commande sudo et son fichier de configuration /etc/sudoers.

Pour que l'utilisateur myshutdown puisse lancer la commande halt

%sudo halt

il suffit d'ajouter la ligne suivante dans le fichier /etc/sudoers

myshutdown ALL=NOPASSWD:/sbin/halt

A la création de l'utilisateur myshutdown un shell par défaut lui est attribué. Pour la démonstration, nous choisissons "bash", qui est le shell le plus couramment utilisé sous Linux. Pour l'attribuer à l'utilisateur 'myshutdown, si ce n'est pas le shell attribué à la création, il suffit de tapper la ligne suivante en tant que root:

%chsh -s /bin/bash myshutdown
Changing shell for myshutdown.
Shell changed.

La dernière étape coté Linux consiste à créer le script exécuté pas le shell dès la connexion de l'utilisateur. Pour bash, c'est le fichier .bashrc qui est exécuté dès le login. Si il n'existe pas dans le répertoire d'accueil de l'utilisateur myshutdown, il faut en créer un et y ajouter les lignes suivantes:

clear
echo "Arrêter le routeur [o/n] ?"
read reponse
case $reponse in

       o*|O* ) sudo /sbin/halt;sleep 3;exit;;
n*|N* ) clear;echo "Attention le routeur doit toujours être arreté depuis Windows. Tapper entée pour fermer cette fenêtre";read;exit;;
esac

Ces quelques lignes méritent quelques explications : On donne le choix d'arrêter le routeur ou de ne pas le faire. Si on doit l'arrêter, on lance la commande "halt", on attend 3 secondes et on se délogue proprement. Sinon, on affiche un message pédagogique et on se déconnecte.

La dernière chose avant de passer à Windows : tester une connexion sur le compte "myshutdown" :

   su - myshutdown

Après avoir confirmé que l'on veut bien arrêter le routeur, celui-ci devrait s'arrêter proprement. Si ce n'est pas le cas, et en fonction des messages affichés pas le shell, un examin des étapes précédentes s'impose.

Côté Windows

D'abord télécharger et installer le client SSH Putty.

Ensuite créer un script d'arrêt de windows pour se connecter sur le routeur sous l'identité "myshutdown".

Commencer par se connecter sous une identité qui a les droits d'administrateur. Créons ensuite un fichier texte stop_routeur.bat qui contiendra la ligne suivante :

"C:\Program Files\putty\putty.exe" -ssh myshutdown@ip_du_routeur -pw "mot_de_pass_de_myshutdown"

Même si il et possible de placer ce script n'importe où su le disque, il est préférable de le copier dans le répertoire prévu à cet effet C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\Shutdown.

Sous Windows, on peut ajouter un script de démarrage, en modifiant la "Stratégie de groupe". Il suffit de lancer la commande "gpedit.msc" depuis le menu Démarrer, Exécuter….

Dans la fenêtre de gauche, sélectionnez Paramètres Windows puis Scripts (démarrage/arrêt). Dans la fenêtre de droite, double cliquez sur Arrêter le système et ajoutez votre script. Nul besoin d’ajouter des paramètres de scripts.

Lors du prochain arrêt ou reboot de Windows, votre script sera exécuté et une fenêtre "Putty" vous demandera si vous voulez aussi arrêter votre routeur Linux ...

Variantes et précautions d'emplois

Un des inconvénients de cette proposition est bien entendu le mot de passe de l'utilisateur "myshutdown" du routeur qui apparait en clair dans le fichier "stop_routeur.bat". Le minimum de sécurité consiste à interdire les utilisateurs standards d'en lire le contenu.

A suivre

Copyright

Copyright © novembre 2005, A. Benzougar