« Arrêter Windows et son routeur Linux » : différence entre les versions
mAucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 4 : | Ligne 4 : | ||
== Prérequis == | == Prérequis == | ||
*La passerelle Linux | *La passerelle Linux : pour l'installation de Linux consulter [http://lea-linux.org/cached/index/Install-index.html la rubrique Installation] | ||
** serveur SSH | ** serveur SSH : voici comment [http://lea-linux.org/cached/index/Reseau-secu-ssh.html installer et configurer] ce service | ||
*une machine sous Windows (supérieur à 2000) | *une machine sous Windows (supérieur à 2000) : la fenêtre du web vous appartient! | ||
** le client SSH Putty | ** le client open source SSH [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty] | ||
* Réseaux | * Réseaux : vous trouverez des informations détaillées sur la [http://lea-linux.org/cached/index/Reseau-cxion_locale-gateway.html mise en place d'une passerelle sous Linux] | ||
<code>Internet</code><----><code>Passerelle Linux</code><----><code>Windows</code> | <code>Internet</code><----><code>Passerelle Linux</code><----><code>Client Windows</code> | ||
== Côté Linux == | == 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. | 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 <code>sudo</code> et son fichier de configuration <code>/etc/sudoers</code>. | 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 <code>sudo</code> et son fichier de configuration <code>/etc/sudoers</code>. La commande "sudo" permet [http://lea-linux.org/cached/index/Admin-admin_env-sudo.html d'exécuter une commande avec les droits de root]. | ||
Pour que l'utilisateur ''myshutdown'' puisse lancer la commande halt | Pour que l'utilisateur ''myshutdown'' puisse lancer la commande halt | ||
Ligne 20 : | Ligne 20 : | ||
<div class="code">myshutdown ALL=NOPASSWD:/sbin/halt</div> | <div class="code">myshutdown ALL=NOPASSWD:/sbin/halt</div> | ||
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: | A la création de l'utilisateur ''myshutdown'' un [http://lea-linux.org/cached/index/Admin-admin_env-shell.html 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: | ||
<div class="code"> | <div class="code"> | ||
%chsh -s /bin/bash myshutdown<br> | %chsh -s /bin/bash myshutdown<br> | ||
Ligne 52 : | Ligne 52 : | ||
Ensuite créer un script d'arrêt de windows pour se connecter sur le routeur sous l'identité "myshutdown". | 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 : | 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 : | ||
<div class="code"> | <div class="code"> | ||
"C:\Program Files\putty\putty.exe" -ssh myshutdown@ip_du_routeur -pw "mot_de_pass_de_myshutdown"</div> | "C:\Program Files\putty\putty.exe" -ssh myshutdown@ip_du_routeur -pw "mot_de_pass_de_myshutdown"</div> | ||
Ligne 64 : | Ligne 64 : | ||
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 ... | 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 | ==Variantes== | ||
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 | L'arrêt automatique du routeur Linux au même temps que le client Windows, peut ne pas avoir d'intérêt si l'on dispose de plusieurs clients dans le réseau. | ||
Le fichier "stop_routeur.bat" peut alors être exploité par exemple en créant un raccourcis vers ce batch. Un simple clic sur ce raccourcis suffit alors pour arrêter ou redémarrer votre passerelle. | |||
==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 aux utilisateurs standards d'en lire le contenu. | |||
Une autre façon plus sophistiquée de contourner ce problème est de mettre en place sur le routeur une authentification [http://lea-linux.org/cached/index/Reseau-secu-ssh.html#Connexion_par_paires_de_clef par paires de clefs]. Dans ce cas, on peut alors faire une connexion depuis Windows sans mot de passe. | |||
= Copyright = | = Copyright = | ||
Copyright © novembre 2005, A. Benzougar | Copyright © novembre 2005, A. Benzougar |
Version du 24 novembre 2005 à 15:28
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 : pour l'installation de Linux consulter la rubrique Installation
- serveur SSH : voici comment installer et configurer ce service
- une machine sous Windows (supérieur à 2000) : la fenêtre du web vous appartient!
- le client open source SSH Putty
- Réseaux : vous trouverez des informations détaillées sur la mise en place d'une passerelle sous Linux
Internet
<---->Passerelle Linux
<---->Client 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
. La commande "sudo" permet d'exécuter une commande avec les droits de root.
Pour que l'utilisateur myshutdown puisse lancer la commande halt
il suffit d'ajouter la ligne suivante dans le fichier /etc/sudoers
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 :
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
L'arrêt automatique du routeur Linux au même temps que le client Windows, peut ne pas avoir d'intérêt si l'on dispose de plusieurs clients dans le réseau. Le fichier "stop_routeur.bat" peut alors être exploité par exemple en créant un raccourcis vers ce batch. Un simple clic sur ce raccourcis suffit alors pour arrêter ou redémarrer votre passerelle.
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 aux utilisateurs standards d'en lire le contenu.
Une autre façon plus sophistiquée de contourner ce problème est de mettre en place sur le routeur une authentification par paires de clefs. Dans ce cas, on peut alors faire une connexion depuis Windows sans mot de passe.
Copyright
Copyright © novembre 2005, A. Benzougar