Vincent Richard


Reboot à distance sur Linux

Si vous cherchez à mettre en place un système de reboot de serveur GNU/Linux à distance, voici une solution relativement simple et sécurisée.

Il s'agit en fait de créer un utilisateur dédié dont la seule possibilité d'action sera le redémarrage du système. Nous pourrons alors redémarrer la machine distante en nous connectant simplement par SSH sur la machine distante avec un utilisateur particulier :

ssh reboot@machine-distante

Commençons par créer cet utilisateur, que l'on nommera "reboot". Connectez-vous à la machine distante via SSH, puis créez le nouvel utilisateur avec la commande adduser :

# adduser reboot

Attention ! Veillez à choisir un mot de passe complexe, assez long, et composé de lettres majuscules, minuscules et de chiffres, pour réduire les risques d'intrusion non désirée.

Le redémarrage d'une machine Linux s'effectue par la commande reboot. Étant donné que seul l'utilisateur root a les permissions nécessaires pour exécuter cette commande, nous allons passer par sudo pour attribuer cette unique permission à notre utilisateur reboot :

Éditons le fichier de configuration de sudo (nommé /etc/sudoers) avec la commande visudo, pour ajouter une ligne pour l'utilisateur reboot :

reboot ALL=(ALL) NOPASSWD: /sbin/reboot

Cette ligne indique que l'utilisateur reboot a la permission d'exécuter, via sudo, la commande /sbin/reboot en tant que root sans avoir à entrer de mot de passe.

Enfin, l'astuce consiste à faire en sorte qu'une fois connecté avec cet utilisateur, nous n'ayons à entrer aucune commande ni à se déconnecter du système. Nous allons pour cela faire en sorte que le shell de l'utilisateur soit la commande reboot.

Nous allons créer un script dans le répertoire utilisateur de reboot, avec le contenu suivant :

#!/bin/bash
sudo /sbin/reboot

Nommons ce script "reboot.sh", son chemin d'accès sera alors /home/reboot/reboot.sh. Donnons-lui les droits d'exécution pour l'utilisateur :

chmod u+x /home/reboot/reboot.sh

La dernière étape consiste à faire en sorte que ce script soit le shell de l'utilisateur reboot. De cette façon, dès que l'utilisateur reboot se connectera via SSH sur la machine distante, le script sera immédiatement lancé, ce qui provoquera le redémarrage de la machine.

Pour cela, il faut éditer la ligne correspondant à l'utilisateur reboot dans le fichier /etc/passwd. Le dernier champ correspond à la commande exécutée pour lancer le shell de l'utilisateur, changeons-la pour notre script :

reboot:x:1001:1000:,,,:/home/reboot:/home/reboot/reboot.sh

Et voilà, notre système est en place ! Nous avons maintenant la possibilité de redémarrer notre serveur à distance simplement en se connectant via SSH.

iPad reçu ! \o/

J'ai reçu vendredi mon iPad, version US (merci à Michaël ! ;-) ). Voici mes premières impressions :

  • mensurations : une pure merveille, son poids plume et sa faible épaisseur en font le compagnon idéal pour un accès Internet sur le canapé ou dans le lit :D

  • l'écran : le rendu des couleurs me semble bon, mais la résolution manque un peu de finesse (1024x768 pixels sur une diagonale de 24,6 cm)
  • la précision du multitouch est étonnante
  • l'ensemble est très réactif (nouveau processeur, plus puissant que l'iPhone 3GS)
  • ...c'est du Apple, ça marche out of ze box (comme on dit) et ça se synchronise avec mon MacBook (signets Internet, contacts, agenda, emails, musiques, photos...)

Je vais donc profiter du week-end pour débuguer la nouvelle application iPad sur laquelle Michaël et moi travaillons depuis plus de 2 mois...

L'application « Les trois petits cochons » sur iPad

So Ouat! « Les trois petits cochons » est un outil d'apprentissage de la lecture pour les 5-7 ans. Il s'agit de notre première application, d'autres viendront !

Serveur dans les nuages

Après 5 ans de fidélité à Sivit, et mon "vieux" serveur dans les choux deux fois par jour (en raison du traffic grandissant sur mes sites), j'ai décidé de tenter l'aventure des serveurs « dans les nuages », avec la nouvelle offre d'hébergement Gandi sur leur infrastructure cloud computing.

Lire la suite...

Propulsé par DotClear.