Planet

Personnellement je ne me sers jamais du Caps Lock et, étant sur awesome WM, j’ai rarement besoin de la souris (d’autant plus qu’il m’arrive de la bouger alors que je tape, ce qui me rend fou!). J’ai bien cherché sur internet mais j’ai trouvé aucune solution qui me permettrait d’activer ou de désactiver le pavé tactile rapidement, en me donnant un retour visuel qui plus est. Alors je sais pas si je suis le seul dans mon cas de figure, mais je me suis dis que je pourrais partager ma solution ici quand même, au cas où. Attention il vous faudra un accès root.

Le script

Sauvegardez ce script quelque part.

#!/bin/bash getLEDStatus() { if su -c 'setleds -L < /dev/console' | grep "CapsLock off" then return 1 fi return 0 } if getLEDStatus then # LED was on, now off (because of `setleds -L`) synclient touchpadoff=1 # Turn touchpad off else # LED was off (and still is) su -c 'setleds -L +caps < /dev/console' # Turn LED on synclient touchpadoff=0 # Turn touchpad back on fi

Puis exécutez ces commandes:

chmod +x <nom_du_fichier> # Le rendre executable sudo chattr -i <nom_du_fichier> # Le rendre immutable

En effet comme ce fichier va être exécuté avec les droits root plusieurs fois par session, il est impératif d’empêcher n’importe qui de le modifier.

Seulement on ne peut pas devoir rentrer son mot de passe à chaque fois que l’on veut se servir de ce fichier. C’est pourquoi il va falloir modifier son fichier sudoers.

sudo -E visudo # grâce au -E on peut utiliser son $EDITOR 

Et ajoutez cette ligne, en modifiant les deux champs entre “<>”.

<login> ALL=(ALL) NOPASSWD: <chemin_complet_du_script>

Pour finir

Maintenant il va falloir executer deux commandes au démarrage de votre session:

setxkbmap -option caps:none sudo <le_chemin_complet_du_script>

La première désactive la fonction par défaut du verr Maj, la deuxième éxecute le script afin de tout de suite synchroniser la LED avec le touchpad.

Ensuite il faut que le raccourci clavier vienne executer le script en tant que root. Pour ceux qui utilisent awesome vous pouvez ajouter cette ligne à votre rc.lua:

awful.key({}, "#66", function () awful.util.spawn("sudo <chemin_complet_du_script>", false) end),

La touche Caps Lock possède le numéro 66 pour ceux qui en ont besoin (mais vous pouvez confirmer avec la commande xev).

 

Redémarrez votre session et tout devrait fonctionner! N’hésitez pas à vous plaindre dans les commentaires si c’est pas le cas, on fera de notre mieux pour vous aider.

crypto
Un disque dur externe contenant vos données n’a pas de raisons de ne pas être chiffré. Voici quelques commandes utiles pour l’utilisation de LUKS.

Prérequis

Le paquet cryptsetup doit être installé :

sudo apt-get install cryptsetup

Initialisation

Trouver le disque

Tout d’abord, il faut déterminer l’emplacement du disque dur dans /dev. Pour cela, avant de le brancher, exécuter la commande :

sudo tail -f /var/log/messages

Lors du branchement du disque, plusieurs lignes similaires à celles-ci doivent apparaître :

Jul 20 21:25:29 pc kernel: [ 678.139988] sd 7:0:0:0: [sdb] 976754645 4096-byte logical blocks: (4.00 TB/3.63 TiB)

Ici, [sdb] signifie que l’emplacement est /dev/sdb. Dans la suite, je noterai cet emplacement /dev/XXX.

Il est très important de ne pas se tromper d’emplacement, afin de ne pas formater un autre disque…

Effacer le disque

Si des données étaient présentes sur ce disque, il est plus sûr de tout supprimer physiquement :

sudo dd if=/dev/zero of=/dev/XXX bs=4k

Cette commande peut prendre beaucoup de temps, puisqu’elle consiste à réécrire physiquement tous les octets du disque dur.

Créer la partition chiffrée

Pour initialiser la partition chiffrée :

sudo cryptsetup luksFormat -h sha256 /dev/XXX

La passphrase de déchiffrement sera demandée.

Maintenant que nous avons une partition chiffrée, ouvrons-la :

sudo cryptsetup luksOpen /dev/XXX lenomquevousvoulez

Cette commande crée un nouveau device dans /dev/mapper/lenomquevousvoulez, contenant la version déchiffrée (en direct).

Formater

Pour formater cette partition en ext4 :

sudo mkfs.ext4 /dev/mapper/lenomquevousvoulez

Pour l’initialisation, c’est fini, nous pouvons fermer la vue déchiffrée :

cryptsetup luksClose lenomquevousvoulez

Montage manuel

Il est possible de déchiffrer et monter la partition manuellement en ligne de commande :

sudo cryptsetup luksOpen /dev/XXX lenomquevousvoulez sudo mkdir -f /media/mydisk sudo mount -t ext4 /dev/mapper/lenomquevousvoulez /media/mydisk

Le contenu est alors accessible dans /media/mydisk.

Pour démonter et fermer, c’est le contraire :

sudo umount /media/mydisk sudo cryptsetup luksClose /dev/XXX lenomquevousvoulez

Mais c’est un peu fastidieux. Et je n’ai pas trouvé de solution pour permettre le luksOpen par un utilisateur (non-root) en ligne de commande.

Montage semi-automatique

Les environnement de bureau permettent parfois de monter un disque dur chiffré simplement, avec la demande de la passphrase lors de l’ouverture du disque. Voici ce que j’obtiens avec XFCE :
luksOpen

Mais par défaut, le nom du point de montage est peu pratique : /media/rom/ae74bc79-9efe-4325-8b4d-63d1506fa928. Heureusement, il est possible de le changer. Pour cela, il faut déterminer le nom de la partition déchiffrée :

$ ls /dev/mapper/luks-* /dev/mapper/luks-8b927433-4d4f-4636-8a76-06d18c09723e

Le nom très long correspond en fait à l’UUID du disque, qui peut aussi être récupéré grâce à :

sudo blkid /dev/XXX

L’emplacement désiré, ainsi que les options qui-vont-bien, doivent être rajoutés dans /etc/fstab :

/dev/mapper/luks-8b927433-4d4f-4636-8a76-06d18c09723e /media/mydisk ext4 user,noauto

Ainsi, le disque sera désormais monté dans /media/mydisk.

Si en plus, nous souhaitons spécifier un nom user-friendly pour la partition déchiffrée (celui dans /dev/mapper/), il faut ajouter une ligne dans /etc/crypttab (en adaptant l’UUID) :

mydisk UUID=8b927433-4d4f-4636-8a76-06d18c09723e none luks,noauto

Et utiliser celle-ci à la place dans /etc/fstab :

/dev/mapper/mydisk /media/mydisk ext4 user,noauto

Gérer les passphrases

Il est possible d’utiliser plusieurs passphrases (jusqu’à 8) pour déchiffrer le même disque.

Pour en ajouter une :

sudo cryptsetup luksAddKey /dev/XXX

Pour en supprimer une :

sudo cryptsetup luksRemoveKey /dev/XXX

Pour changer une unique passphrase, il suffit d’en ajouter une nouvelle puis de supprimer l’ancienne.

État

Pour consulter l’état d’une partition LUKS :

sudo cryptsetup luksDump /dev/XXX

Sauvegarde et restauration des en-têtes

Les en-têtes LUKS sont écrits au début du disque. Les écraser empêche définivement le déchiffrement de la partition.

Il est possible d’en faire une sauvegarde dans un fichier :

cryptsetup luksHeaderBackup /dev/XXX --header-backup-file fichier

Et de les restaurer :

cryptsetup luksHeaderRestore /dev/XXX --header-backup-file fichier

Conclusion

Une fois configuré la première fois, et après les quelques modifications pénibles pour choisir les noms pour le déchiffrement et le montage, l’utilisation au quotidien est vraiment très simple : il suffit de rentrer la passphrase directement à partir du navigateur de fichiers.

Récemment une célèbre FAI en France à mis a jours sa box pour nous offrir la possibilité de pouvoir établir des connexion VPN depuis notre box.
Cette initiative m’a permis d’utiliser mon VPN sur mon serveur distant afin de pouvoir naviguer sur le net (ou tout autre activité…) sans que l’IP de mon domicile soit visible.

Ce qui est intéressant avec cette fonction c’est que le flux réseau est directement envoyé via le VPN et ce de manière transparente pour l’utilisateur.
C’est donc pourquoi aujourd’hui nous allons voir comment créer un serveur VPN sur Ubuntu Server 14.04 et comment l’utilisé depuis un poste client.

1) Prérequis

- Une machine Linux (Ubuntu/Debian) connecter au net. (Si possible dans un datacentrer c’est nettement mieux au niveau débit.)

- Un accès SSH à la machine afin de pouvoir réaliser les manipulation suivantes.

- 10 minutes de votre vie pour la mise en place :)

2) Installation et configuration du serveur VPN

Le tutoriel suivant est réalisé sous Ubuntu 14.04 si vous utilisez une distribution différente il faudra surement adapter les commandes mais elles seront certainement du même acabit.

Dans un premier temps nous allons installer le logiciel nécessaire pour mettre en place notre VPN.

sudo apt-get install pptpd

Une fois le logiciel installer nous allons modifier 3 fichiers de configuration:

/etc/pptpd.conf (configuration globale du service VPN)
/etc/ppp/pptpd-options (Configuration pour le tunnel VPN)
/etc/ppp/chap-secrets (Configuration des utilisateurs)

Nous allons commencé par le fichier /etc/pptpd.conf
Tout d’abord sauvegardé le fichier d’origine puis créer en un nouveau

sudo mv /etc/pptpd.conf /etc/pptpd.conf.bak && sudo touch /etc/pptpd.conf

Maintenant que vous avez un  nouveau fichier vide vous pouvez y insérer la configuration suivante:

# Configuration réseau dans le tunnel VPN localip 10.0.0.1 remoteip 10.0.0.10-20 # Options pour le protocole PPP option /etc/ppp/pptpd-options # Activation des logs logwtmp

localeip est l’adresse IP qui sera attribuée a votre serveur VPN dans le réseau VPN
remoteip est la plage d’adresse IP qui sera distribuée au clients de votre serveur

Nous allons maintenant nous interresser au fichier /etc/ppp/pptpd-options
Comme précédement nous allons sauvegarder le fichier d’origine pour en créer un nouveau

sudo mv /etc/ppp/pptpd-options /etc/ppp/pptpd-options.bak && sudo touch /etc/ppp/pptpd-options

Editez le votre nouveau fichier et insérer la configuration suivante:

# Source d'authentification name pptpd # Configuration des protocoles de chiffrements refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 # Définition des serveurs DNS ms-dns 208.67.222.222 ms-dns 208.67.220.220 proxyarp nodefaultroute lock nobsdcomp novj novjccomp nologfd

Enfin nous allons définir les utilisateurs qui seront authorisés a se connecter a votre serveur VPN.
Pour cela éditez le fichier /etc/ppp/chap-secrets de la manière suivante:

# Secrets for authentication using CHAP # client server secret IP addresses utilisateur pptpd mot-de-passe *

Cette configuration permet de définir le nom de l’utilisateur et sont mot de passe

Voila il ne nous reste plus qu’à redémarer le service VPN pour qu’il prenne en compte nos modifications

service pptpd restart

Si vous n’avez pas d’erreur particulière votre nouveau serveur VPN est près à accueillir des clients.

2) Configuration d’un client VPN Windows

Pour vous connectez a votre VPN en utilisant Windows  procédé comme ceci:

Démarrer => Panneau de configuration => Centre Réseau et partage

Sélectionner ensuite « Configurer une nouvelle connexion ou un nouveau réseau »

vpnclient1

 

 Puis sélectionner « Connexion à votre espace de travail »

vpnclient2

Cliquer sur « Utiliser ma connexion internet »

Dans la nouvelle fenêtre qui vient d’apparaître remplissez comme ceci:

Adresse  Internet: Votre adresse IP publique de votre serveur

Nom de la connexion: Le nom que vous souhaitez

Cliquez sur « suivant ».

Dans la nouvelle fenêtre qui vient d’apparaître remplissez comme ceci:

Nom d’utilisateur: le nom de l’utilisateur définit dans le fichier /etc/ppp/chap-secrets

Mot de passe: le mot de passe de l’utilisateur définit dans le fichier /etc/ppp/chap-secrets

Cliquer sur « suivant ».

Voila vous êtes connectez à  votre serveur VPN

vpnclient4

4) Configuration pour utiliser la connexion internet du serveur distant

Actuellement vous pouvez vous connectez au serveur VPN mais vous n’avez pas d’accès internet l’orsque vous êtes connectez dessus.
Pour corriger ce problème procédez comme ceci:

Sur votre serveur éditez le fichier /etc/sysctl.conf et rechercher la ligne suivante:

net.ipv4.ip_forward = 0

et modifier la comme ceci

net.ipv4.ip_forward = 1

Enfin pour terminer il  faut configurer le pare-feu pour qu’il vous redirige le traffic internet dans le VPN.
Pour ce faire entrez les commandes suivantes:

iptables -A INPUT -p tcp --dport 1723 -j ACCEPT iptables -A INPUT -p gre -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -s 172.16.0.0/24 -j SNAT --to IP-DU-SERVEUR

Pour sauvegarder vos modification dans le pare-feu entrez la commande suivante:

iptables-save > /etc/default/iptables

Puis éditer le fichier /etc/network/interfaces et ajouté la ligne suivante à la fin du fichier:

pre-up iptables-restore < /etc/default/iptables

Voila vous pouvez maintenant utiliser la connexion internet de votre serveur.
Vous pouvez maintenant connecter tous les périphériques permettant de gérer le protocole PPTP a votre serveur. :)

Sur XUbuntu 14.04 avec laptop_mode_tools, les périphériques USB qui ne sont pas utilisés pendant quelques secondes sont automatiquement éteints. C'est le cas des souris par exemple, ce qui est très génant. Il est cependant possible de modifier la configuration de laptop_mode_tools pour désactiver ce comportement.

On modifie le fichier /etc/laptop-mode/conf.d/usb-autosuspend.conf pour lui demander de blacklister du processus d'extinction plusieurs types de périphériques USB. Dans mon cas, les souris et les clés USB.

$ grep 'AUTOSUSPEND_USBTYPE_BLACKLIST' /etc/laptop-mode/conf.d/usb-autosuspend.conf AUTOSUSPEND_USBTYPE_BLACKLIST="usbhid usb-storage"

La modification est effective après sauvegarde du fichier.

Via AskUbuntu

Sur XUbuntu 14.04 avec laptop_mode_tools, les périphériques USB qui ne sont pas utilisés pendant quelques secondes sont automatiquement éteints. C'est le cas des souris par exemple, ce qui est très génant. Il est cependant possible de modifier la configuration de laptop_mode_tools pour désactiver ce comportement.

On modifie le fichier /etc/laptop-mode/conf.d/usb-autosuspend.conf pour lui demander de blacklister du processus d'extinction plusieurs types de périphériques USB. Dans mon cas, les souris et les clés USB.

$ grep 'AUTOSUSPEND_USBTYPE_BLACKLIST' /etc/laptop-mode/conf.d/usb-autosuspend.conf AUTOSUSPEND_USBTYPE_BLACKLIST="usbhid usb-storage"

La modification est effective après sauvegarde du fichier.

Via AskUbuntu

30 Juin 2014 à 19:36

Migration de comptes mails IMAP via Quack1

Depuis l'affaire Snowden, tout le monde nous rebat les oreilles à coup de « GMail c'est nul », « bouh, Microsoft vole votre vie privée » et autres joyeusetés. Méticuleux comme vous êtes, vous avez donc changé de provider de mails pour un service plus respectueux de la vie privée ou — mieux — pour votre propre serveur de mails.

Sauf qu'en changeant de service, vous perdez également tout vos anciens mails présents sur le précédent serveur. Mais il existe un outil, imapcopy qui permet de récupérér vos mails !

Il va se connecter à votre ancien serveur, récupérer tous les mails, puis les resynchroniser sur le nouveau serveur.

 

Sur toutes les bonnes distribs (ici Debian/Ubuntu), ça s'installe simplement.

sudo apt-get install imapcopy

On crée ensuite un fichier de configuration comme celui donné ci-dessous.

$ cat imapcopy.cfg SourceServer source.tld SourcePort 143 DestServer dest.tld DestPort 143 # SourceUser SourcePassword DestinationUser DestinationPassword Copy "user@source.tld" "password" "user@dest.tld" "password2" Copy "user2@source.tld" "PASSWORD" "user2@dest.tld" "PASSWORD2"

Il est donc possible de migrer, d'un seul coup, les mails de plusieurs comptes sur le même serveur. Pour lancer la migration, on lance imapcopy qui va récupérer le fichier de conf. dans le répertoire courant.

imapcopy

 

Attention, tous les échanges se font ici en clair (et pas de façon chiffrée). Pour cela, vous pouvez utiliser un tunnel ssh (si vous avez la main sur la machine distante) ou bien l'utilitaire stunnel.

sudo apt-get install stunnel

On lance ensuite la création des tunnels :

stunnel -c -f -d 1143 -r source.tld:993 -P '' stunnel -c -f -d 1144 -r dest.tld:993 -P ''

Et on n'oublie pas de modifier le fichier de configuration pour utiliser ces nouveaux ports :

$ cat imapcopy.cfg SourceServer 127.0.0.1 SourcePort 1143 DestServer 127.0.0.1 DestPort 1144

 

Vous pouvez également tester votre configuration avec un imapcopy -t.

 

_Cet article est une traduction libre et adaptée de l'article d'Emmanuel Revah. L'article source est distribué sous licence CC-BY-NC-SA.

30 Juin 2014 à 19:36

Migration de comptes mails IMAP via Quack1

Depuis l'affaire Snowden, tout le monde nous rebat les oreilles à coup de « GMail c'est nul », « bouh, Microsoft vole votre vie privée » et autres joyeusetés. Méticuleux comme vous êtes, vous avez donc changé de provider de mails pour un service plus respectueux de la vie privée ou — mieux — pour votre propre serveur de mails.

Sauf qu'en changeant de service, vous perdez également tout vos anciens mails présents sur le précédent serveur. Mais il existe un outil, imapcopy qui permet de récupérér vos mails !

Il va se connecter à votre ancien serveur, récupérer tous les mails, puis les resynchroniser sur le nouveau serveur.

 

Sur toutes les bonnes distribs (ici Debian/Ubuntu), ça s'installe simplement.

sudo apt-get install imapcopy

On crée ensuite un fichier de configuration comme celui donné ci-dessous.

$ cat imapcopy.cfg SourceServer source.tld SourcePort 143 DestServer dest.tld DestPort 143 # SourceUser SourcePassword DestinationUser DestinationPassword Copy "user@source.tld" "password" "user@dest.tld" "password2" Copy "user2@source.tld" "PASSWORD" "user2@dest.tld" "PASSWORD2"

Il est donc possible de migrer, d'un seul coup, les mails de plusieurs comptes sur le même serveur. Pour lancer la migration, on lance imapcopy qui va récupérer le fichier de conf. dans le répertoire courant.

imapcopy

 

Attention, tous les échanges se font ici en clair (et pas de façon chiffrée). Pour cela, vous pouvez utiliser un tunnel ssh (si vous avez la main sur la machine distante) ou bien l'utilitaire stunnel.

sudo apt-get install stunnel

On lance ensuite la création des tunnels :

stunnel -c -f -d 1143 -r source.tld:993 -P '' stunnel -c -f -d 1144 -r dest.tld:993 -P ''

Et on n'oublie pas de modifier le fichier de configuration pour utiliser ces nouveaux ports :

$ cat imapcopy.cfg SourceServer 127.0.0.1 SourcePort 1143 DestServer 127.0.0.1 DestPort 1144

 

Vous pouvez également tester votre configuration avec un imapcopy -t.

 

_Cet article est une traduction libre et adaptée de l'article d'Emmanuel Revah. L'article source est distribué sous licence CC-BY-NC-SA.

Depuis que j'ai mis en place mon serveur perso, dans mon salon, je graphe pas mal de choses grâce à Munin. Par exemple, la température de 2 villes (voir sur mon article de présentation). Je voulais, depuis longtemps, grapher la température à l'intérieur de mon appart (pour pas cher, bien évidemment). C'est désormais chose faite pour moins de 6€. Voici ce que j'ai fait (j'ai fait les manips sur mon serveur perso, une Debian, tout est donc identique pour le faire sur une Ubuntu ou un Raspberry Pi).

thermo.png

I. Le matériel

Après quelques recherches, j'ai trouvé le thermomètre USB TEMPer. Les prix peuvent varier entre 5 et 20€, je pense avoir trouvé le moins cher sur ebay, pour 5,37€ frais de ports gratuits. Je passe donc commande et je reçois le joujou 2 semaines plus tard.

temper.jpg

II. Les logiciels

Une fois reçu le thermomètre, je le branche sur le port USB de mon serveur. Voici le résultat de la commande dmesg (ou dans /var/log/messages) :

kernel: [4850586.280542] usb 2-1: new low speed USB device using uhci_hcd and address 4
kernel: [4850586.455191] usb 2-1: New USB device found, idVendor=0c45, idProduct=7401
kernel: [4850586.455200] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
kernel: [4850586.455207] usb 2-1: Product: TEMPerV1.4
kernel: [4850586.455211] usb 2-1: Manufacturer: RDing
kernel: [4850586.455421] usb 2-1: configuration #1 chosen from 1 choice
kernel: [4850586.474046] input: RDing TEMPerV1.4 as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0/input/input11
kernel: [4850586.474331] generic-usb 0003:0C45:7401.0007: input,hidraw0: USB HID v1.10 Keyboard [RDing TEMPerV1.4] on usb-0000:00:1d.0-1/input0
kernel: [4850586.489026] generic-usb 0003:0C45:7401.0008: hiddev0,hidraw1: USB HID v1.10 Device [RDing TEMPerV1.4] on usb-0000:00:1d.0-1/input1

Et le résultat de la commande lsusb :

Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 004: ID 0c45:7401 Microdia
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 046d:0992 Logitech, Inc. QuickCam Communicate Deluxe
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Le TEMPer c'est la ligne "0c45:7404 Microdia". En tapant cette recherche dans votre moteur de recherche, vous tombez sur pas mal de docs. J'ai donc dû installer le binaire me permettant de relever la température. J'ai choisi temperv14 de dev-random.net.

Voici le détail les commandes :

sudo su
apt-get install libusb-dev libusb-1.0-0-dev unzip
cd /tmp/
wget http://dev-random.net/wp-content/uploads/2013/08/temperv14.zip
#ou un miroir
wget http://www.generation-linux.fr/public/juin14/temperv14.zip
unzip temperv14.zip
cd temperv14/
make


Si tout se passe correctement, vous obtenez un binaire temperv14 (dans le répertoire dans lequel vous vous trouvez, ici, /tmp/temperv14). Il ne reste plus qu'à le déplacer dans /usr/local/bin/ :

mv temperv14 /usr/local/bin

Vous pouvez désormais utiliser la commande suivante pour obtenir la température via le TEMPer :
temperv14 -c 

Une dernière chose, dans l'état, le binaire temperv14 n'est utilisable que par l'utilisateur root. Comme je compte grapher ces valeurs dans munin, il faut faire en sorte que tout le monde (dont l'utilisateur munin) puisse exécuter cette commande. Je lance donc cette commande :

chmod +s /usr/local/bin/temperv14

III. Monitoring dans munin

Voici le code que j'ai utilisé dans munin et le rendu obtenu :

Le code

#!/bin/sh
# Where is pcsensor located?
PCSENSOR="/usr/local/bin/temperv14"

if [ ! -e ${PCSENSOR} ]; then
        echo "Cannot find pcsensor executable" >&2
        exit -1
fi

case $1 in
   config)
        echo "graph_title Temperature Appart
graph_vlabel Celsius
graph_info Graph la temperature de mon appart avec temperv14
graph_category sensors
graph_args --base 1000 -l 0
graph_vlabel temp in C
temp.label temp"
        exit 0;;
esac

echo -n "temp.value "
${PCSENSOR} -c

Le rendu

temp_appart-day.png

Voila, c'est pas plus compliqué :)

Chères lectrices, chers lecteurs,

Nous avons mis les bouchées doubles pour sortir ce n°81 de janvier 2014, en un peu moins de 3 semaines après le n°80 ! Notre objectif est clair : combler un peu le retard pris par rapport à la version anglaise originale.

Pour autant, ce retard n’ôte en rien l'intérêt des différents articles contenus dans le magazine Full Circle, édition francophone. Ce numéro de 54 pages est disponible à l'adresse habituelle ou en cliquant directement sur la vignette ci-dessous.

issue81fr.png

Au sommaire de ce numéro 81 intitulé « Sécurisez votre PC » :

  • un tutoriel sur Lynis, un outil qui va effectuer un audit de sécurité sur votre machine,
  • la deuxième partie de « RAID à domicile »,
  • une critique de la distribution Linux LXLE,
  • un comparatif sur les lanceurs d'applications,
  • les jeux « Limbo » et « Joe Danger 2 The Movie », étudiés à la loupe,
  • un exercice de style avec la commande sed,

ainsi que pleins d'autres surprises, sans oublier les rubriques et tutoriels habituels, Programmez en Python – LibreOffice – Inkscape...

Toute l'équipe du FCMfr et plus particulièrement Bab notre scribeur, AuntieE, Deuchnord, Ekel, Frangi, Fredphil91, Gsxfred se joignent à moi pour vous souhaiter une très bonne lecture !

A bientôt pour le prochain numéro où l'on parlera de monnaie virtuelle et de périphériques iOS...mais chuuuut....ne le criez pas sur tous les toits !

LeCastillan.

15 Juin 2014 à 15:30

SSHFS inversé (rsshfs) via Rom1

sshfs

SSHFS permet de monter un répertoire d’une machine distance dans l’arborescence locale en utilisant SSH :

sshfs serveur:/répertoire/distant /répertoire/local

Mais comment monter un répertoire local sur une machine distante ?

Une solution simple serait de se connecter en SSH sur la machine distante et d’exécuter la commande sshfs classique.

Mais d’abord, ce n’est pas toujours directement possible : la machine locale peut ne pas être accessible (non adressable) depuis la machine distante. Ça se contourne en créant un tunnel SSH utilisant la redirection de port distante (option -R).

Et surtout, ce n’est pas toujours souhaitable : cela nécessite que la clé privée autorisée sur la machine locale soit connue de la machine distante. Or, dans certains cas, nous ne voulons pas qu’une machine esclave puisse se connecter à notre machine maître.

Reverse SSHFS

En me basant la commande donnée en exemple, j’ai donc écrit un petit script Bash (rsshfs, licence GPLv3) qui permet le reverse SSHFS :

git clone http://git.rom1v.com/rsshfs.git cd rsshfs sudo install rsshfs /usr/local/bin

(disponible également sur github)

Les paquets sshfs et fuse doivent être installés sur la machine distante (et l’utilisateur doit appartenir au groupe fuse). Le paquet vde2 (pour la commande dpipe) doit être installé sur la machine locale.

Son utilisation se veut similaire à celle de sshfs :

rsshfs /répertoire/local serveur:/répertoire/distant

Comme avec sshfs, /répertoire/distant doit exister sur serveur et doit être vide.

Il est également possible de monter le répertoire en lecture seule :

rsshfs /répertoire/local serveur:/répertoire/distant -o ro

Attention. L’option « lecture seule » est demandée à la machine distante, par un paramètre sshfs. Par conséquent, une version modifiée de sshfs pourrait ignorer la demande de lecture seule. Vous devez donc faire confiance à la machine distante.

Contairement à sshfs, étant donné que rsshfs agit comme un serveur, cette commande ne retourne pas tant que le répertoire distant n’est pas démonté.

Pour démonter, dans un autre terminal :

rsshfs -u serveur:/répertoire/distant

TODO

J’ai choisi la facilité en écrivant un script indépendant qui appelle la commande qui-va-bien.

L’idéal serait d’ajouter cette fonctionnalité à sshfs directement.

Pages