Un disque dur en réseau, même dans un petit réseau domestique, c'est bien utile. Cela permet de faire des sauvegardes ou de partager des fichiers sans avoir nécessairement tous les ordinateurs allumés en même temps.
Attention, un disque dur pour réseau est un peu plus qu'un simple disque dur externe puisque, en plus de la mémoire de masse, il faut à l'appareil la capacité de jouer le rôle de serveur de façon autonome. Cependant, les prix de la mémoire étant en chute libre, ces périphériques deviennent abordables pour le commun des mortels.
Le disque dur pour réseau iomega 500 Go de iomega offre une capacité confortable pour une utilisation domestique courante. Sa boîte proclame qu'il fonctionne sous Mac, Windows et Linux et l'auteur de cette page a vérifié ces deux derniers cas, même si son installation lui a demandé quelques tâtonnements. Comme toujours, une fois qu'on a trouvé la solution, tout paraît simple. Le manuel du disque étant plus que sommaire et les recherches sur l'internet étant parfois plus causes de perplexité que sources de lumière, voici la solution trouvée par l'auteur et qui lui donne satisfaction.
Les trois premiers paragraphes concernent l'installation et l'administration du disque dur. L'utilisateur qui veut se raccorder à un réseau où le disque est déjà fonctionnel peut aller directement aux paragraphes relatifs au montage manuel ou au montage automatique.
Le réseau en question comporte un mélange variable de machines de bureau et de portables, certaines sous windows XP et les autres sous Ubuntu (Dapper Drake, Gutsy Gibbon et Jaunty Jackalope [cette dernière distribution appelle un traitement spécifique indiqué au bas de cette page mais il faut tout lire avant !]). Le tout fonctionne en wifi autour d'une livebox SAGEM qui joue le rôle de routeur et permet de partager l'accès internet. Les ports ethernet de la Livebox ne sont pas pollués par un branchement de télévision ni de téléphone ; il va donc être possible d'en distraire un pour y brancher le disque iomega avec un câble éthernet, vu que cet appareil n'est pas doté du wifi.
Remarque : le disque iomega est aussi pourvu d'une prise USB et, détail apprécié, les deux câbles éthernet et USB sont fournis. Cependant, l'USB et l'éthernet ne peuvent pas être utilisés en même temps.
Attention, si la Livebox est paramétrée pour exercer un filtrage MAC des machines autorisées à s'y connecter, aller y entrer le code MAC du disque avant de le mettre en route, de façon à ce qu'il puisse être pris en charge tout de suite.
Ensuite, il ne peut pas y avoir plus simple :
Deux petits reproches cependant : d'abord, le câble éthernet est un peu court ; ensuite, l'adaptateur secteur fourni grésille désagréablement lorsque l'interrupteur du disque est sur la position arrêt. L'auteur de cette page l'a donc échangé pour un autre de mêmes tension, ampérage et polarité.
Pour commencer à utiliser le disque dur réseau, il n'est pas strictement indispensable de se plonger dans son administration. Cependant, l'auteur de cette page recommande quand même fortement de commencer par là, d'abord, pour faire connaissance avec la chose et, ensuite, parce qu'il est au minimum prudent de changer le mot de passe d'accès au disque. Et si on ne le fait pas tout de suite, il faut ensuite faire le tour de tous les ordinateurs du réseau pour mettre à jour le mot de passe... Alors autant s'éviter cette corvée !
La Livebox étant par défaut configurée pour attribuer dynamiquement leurs adresses aux machines du réseau (configuration dite dhcp), elle a déjà donnée une adresse IP au disque dur. Pour le vérifier, sous linux, ouvrir une fenêtre de terminal et y entrer :
findsmb
Cette commande lance la recherche des périphériques qui utilisent le protocole smb pour communiquer sur le réseau. La réponse obtenue est du type :
*=DMB
+=LMB
IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION
---------------------------------------------------------------------
192.168.1.nnn STORAGE-XYZT [ MON_RESEAU ]
STORAGE-XYZT est le nom réseau du disque dur. XYZT dépend du disque mais ne change pas. 192.168.1.nnn est l'adresse réseau du disque attribuée dynamiquement ; elle est donc susceptible de changer au gré des redémarrages des machines du réseau. Il sera donc préférable, pour les paramétrages permanents, d'utiliser le nom plutôt que l'IP, afin d'avoir une meilleure robustesse du réseau.
Puisqu'on est dans le terminal, profitons en pour faire un petit ping (dans cet exemple, on prend nnn=10) :
ping -c 4 192.168.1.10
Le système répond :
PING 192.168.1.10 (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_seq=1 ttl=32 time=5.70 ms
64 bytes from 192.168.1.10: icmp_seq=2 ttl=32 time=5.28 ms
64 bytes from 192.168.1.10: icmp_seq=3 ttl=32 time=5.53 ms
64 bytes from 192.168.1.10: icmp_seq=4 ttl=32 time=6.96 ms
--- 192.168.1.10 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3010ms
rtt min/avg/max/mdev = 5.285/5.871/6.966/0.653 ms
Ce qui permet de vérifier que l'ordinateur voit bien le disque et d'avoir une petite idée des temps de réponse.
Il est temps d'aller faire un tour dans l'utilitaire d'administration du disque dur. Pour cela, ouvrir son firefox préféré (par exemple) et, dans la barre d'adresse du navigateur, entrer l'adresse IP (dans cet exemple, nnn=10) :
http://192.168.1.10
Le serveur intégré au disque dur réseau demande les données d'identification :
Attention, ne pas confondre, il s'agit bien du nom et du mot de passe associés à l'administrateur du disque (et non ceux de l'administrateur ou de l'utilisateur linux en cours). A la première connexion au disque, ces données sont réglées par défaut ; l'utilisateur à donner est admin et le mot de passe est également admin. Cliquer sur OK
L'interface d'administration donne accès à plusieurs possibilités de paramétrage. La page correspondant au titre "Etat" permet d'abord de changer le mot de passe administrateur en cliquant sur le bouton idoine :
L'appui sur ce bouton ouvre classiquement une petite boîte de dialogue où il faut entrer le nouveau mot de passe deux fois puis cliquer sur OK. Le disque oblige alors à une reconnexion immédiate avec le nouveau mot de passe.
Ensuite, on va dans la page "Serveur SMB" :
1 - On sélectionne le dossier PUBLIC pré-existant. 2 - On clique sur la flèche pour le faire passer à droite dans la liste partagée. 3 - On clique sur le bouton "Mot de passe" pour définir un mot de passe spécifique qui protège l'accès à ce dossier (ce n'est pas la même chose que le mot de passe changé juste avant, qui restreint l'exercice des tâches d'administration !) : disons pour l'exemple que c'est mot_de_passe_de_PUBLIC.
Une boîte de dialogue s'ouvre dans laquelle on donne puis confirme le mot de passe d'accès au répertoire PUBLIC et, enfin, on clique sur OK. L'astérisque qui apparait à côté du nom du répertoire PUBLIC à droite, dans la fenêtre ci-dessus, confirme la prise en compte de la protection.
Evidemment, on n'est pas obligé de faire cela mais il semble quand même que c'est un minimum vital de sécurité et puis ça n'est à faire qu'une fois pour toutes. Plus tard, si l'on veut créer d'autres dossiers avec des droits d'accès restreints, il suffira de revenir dans cette page, de les créer et de leur appliquer la même méthode. On peut aussi noter qu'un serveur ftp est aussi fourni mais, pour le sujet de la présente rubrique, on va en rester là.
Tant qu'on est dans firefox, entrons y l'adresse suivante (avec toujours nnn=10 pour l'exemple) :
smb://192.168.1.10
juste pour vérifier que le protocole smb est bien actif :
Comme l'accès à PUBLIC est protégé, un clic dessus ne l'ouvre pas.
Les utilisateurs occasionnels peuvent trouver avantage à monter manuellement le disque à la console, à l'aide de la commande mount habituelle.
Pour ce faire, deux accessoires vont être utiles.
sudo chown mon_nom:users /media/iomega500
en remplaçant évidemment mon_nom par votre nom d'utilisateur).chmod 775 /media/iomega500
username=admin
password=mot_de_passe_de_PUBLIC
Pour monter le disque, il suffit maintenant de retourner dans la console est d'entrer la commande :
sudo mount -t smbfs //STORAGE-XYZT/PUBLIC /media/iomega500 -o credentials=/home/mon_nom/.smbdata,rw,fmask=777,dmask=777,users
où bien sûr STORAGE-XYZT est à remplacer par le nom du disque et mon_nom est à remplacer par le nom d'utilisateur ubuntu.
Pour démonter, pas de surprise :
sudo umount /media/iomega500
L'avantage d'inscrire le montage dans fstab est double. D'abord, dans les cas où l'ordinateur est lancé alors que le disque est en route et connecté au réseau, le montage s'effectue automatiquement. Ensuite, dans tous les autres cas, il est possible de monter semi-automatiquement le disque par la commande raccourcie :
mount /media/iomega500
On notera qu'avec le paramétrage d'options défini ci-après, compte tenu des précautions prises plus haut, il n'est pas nécessaire de passer par sudo. Malheureusement, il semble qu'un bogue de GNOME empêche la réciproque (?) et que le démontage doive se faire obligatoirement par :
sudo umount /media/iomega500
Pour obtenir ce résultat, c'est simple... Ouvrir le fichier /etc/fstab en tant que root, avec gedit par exemple, et y ajouter la ligne suivante :
//STORAGE-XYZT/PUBLIC /media/iomega500 smbfs credentials=/home/mon_nom/.smbdata,user,auto,gid=users,rw,sync,umask=002 0 0
et l'enregistrer.
Comme plus haut, STORAGE-XYZT est à remplacer par le nom du disque et mon_nom est à remplacer par le nom d'utilisateur ubuntu. L'option sync sollicite davantage le disque en obligeant l'écriture immédiate des informations mais est utile dans le cas où plusieurs utilisateurs accèdent aux dossiers en même temps.
Le plus dur est fait. Avant de passer la commande mount, il reste un petit détail à régler. En effet, cette commande sous-traite le montage à une autre commande smbmnt qui, par défaut, ne peut être exécutée que par l'utilisateur root. Le remède consiste à attribuer à cette commande un droit spécial, en imposant que l'utilisateur qui la lance ait les mêmes droits que son propriétaire. Ceci s'obtient en entrant à la console, une fois pour toutes, la commande :
sudo chmod 4755 /usr/bin/smbmnt
Les utilisateurs de Windows doivent installer le disque sur leur machine avec le CD-ROM fourni. Ensuite, pour l'utiliser, ils peuvent par exemple, à partir de l'explorateur de fichiers, faire un clic droit sur le poste de travail et choisir "Connecter un lecteur réseau". Choisir une lettre de réseau et entrer l'identifiant et le mot de passe d'accès au dossier PUBLIC.
CIFS VFS (common internet file system - virtual file system) est un système de fichiers pour Linux permettant l'accès aux serveurs et dispositifs de stockage. Par rapport à des systtèmes de fichiers plus anciens (comme smbfs, server message block file system), CIFS VFS utilise un protocole tirant parti de possibilités avancées de gestion du réseau (source : http://linux-cifs.samba.org/). CIFS supporte l'accès aux anciens serveurs utilisant SMBFS.
L'auteur de cette page n'est pas parvenu à accéder à l'iomega500 en utilisant CIFS avec des distributions antérieures à Jaunty. Cependant, avec le protocole smbfs, le fonctionnement s'avère satisfaisant. Il faut bien sûr que tous les modules nécessaires soient installés (aller faire un tour dans synaptic pour vérifier).
Sous Ubuntu Jaunty Jackalope, qui frappe smbmount d'obsolescence et fait disparaitre smbmnt, l'accès au iomega500 avec CIFS fonctionne et peut s'installer par la variante suivante de la procédure ci-dessus:
A] Installation de smbfs et samba :
$ sudo aptitude install smbfs
$ sudo aptitude install samba
B] Détermination de son uid et gid par (remplacer NOM_UTILISATEUR par le nom d'utilisateur) :
$ cat /etc/passwd | grep NOM_UTILISATEUR
Cette commande donne une sortie du type :
NOM_UTILISATEUR:x:1000:1000:NOM_UTILISATEUR,,,:/home/NOM_UTILISATEUR:/bin/bash
et le montage du disque s'effectue alors, soit manuellement à la console par :
sudo mount -t cifs //STORAGE-f44a/PUBLIC /media/iomega500 -o credentials=/home/NOM_UTILISATEUR/.smbdata,iocharset=utf8,gid=1000,uid=1000,nounix,file_mode=0777,dir_mode=0777
soit automatiquement en introduisant dans fstab la ligne suivante :
//STORAGE-F44A/PUBLIC /media/iomega500 cifs credentials=/home/NOM_UTILISATEUR/.smbdata,iocharset=utf8,gid=1000,uid=1000,nounix,file_mode=0777,dir_mode=0777 0 0
C] Contournement d'une erreur :
Un genre de bogue provoque une attente longue à la fermeture d'Ubuntu (lors de l'extinction ou d'un redémarrage), le système cherchant à déconnecter l'iomega500 alors que les processus réseau sont déjà stoppés. Au bout d'un long moment, il finit par jeter l'éponge en affichant l'erreur CIFS VFS: No response for cmd 50. C'est sans gravité mais désagréable. Le contournement est simple et spécifique à Jaunty : il suffit d'ajouter (en tant que superutilisateur) /etc/init.d/umountnfs.sh au début du fichier /etc/gdm/PostSession/Default, qui devient donc :
#!/bin/sh
/etc/init.d/umountnfs.sh
PATH="/usr/bin/X11:/usr/X11R6/bin:/opt/X11R6/bin:$PATH:/bin:/usr/bin"
OLD_IFS=$IFS
gdmwhich () {
COMMAND="$1"
OUTPUT=
IFS=:
for dir in $PATH
do
if test -x "$dir/$COMMAND" ; then
if test "x$OUTPUT" = "x" ; then
OUTPUT="$dir/$COMMAND"
fi
fi
done
IFS=$OLD_IFS
echo "$OUTPUT"
}
exit 0
Il n'est pas utile de relancer la machine après avoir enregistré le fichier. Au prochain arrêt, l'attente intempestive aura disparu car le script de démontage sera lancé avant la fermeture du réseau.