Dominique Meeùs
Dernière modification le   
retour à la table des matières — à l’index — à ma page de départ

Partages Samba

Je n’ai pas étudié le côté serveur du partage avec Samba.

Sur un réseau local où des fichiers sont partagés par des machines Windows ou avec Samba, on peut monter les dossiers avec la commande mount.cifs fournie par le paquet cifs-utils (à installer, il ne l’est pas par défaut), ou bien par mount -t cifs qui utilise la précédente.

sudo mount -t cifs //serveur/partage /mnt/montage -o domain=WORKGROUP,username=personne,password=pass,uid=1000,iocharset=utf8

personne est le nom d’utilisateur connu du serveur, tandis que l’uid dit à qui appartiendront les fichiers montés. Il est prudent aussi dans un réseau Linux et Microsoft Windows mélangé de dire qu’on écrit en UTF-8. On peut trouver dérangeant d’écrire son mot de passe d’accès au partage en clair dans une commande, et fastidieux de devoir le répéter chaque fois. En fait toute l’identification peut être sauvée dans un fichier de trois lignes avec les trois données d’identification ci-dessus. On peut mettre ce fichier dans un répertoire caché. La commande devient alors, par exemple :

sudo mount -t cifs //serveur/partage /mnt/montage -o credentials=~/.config/mycredentials,uid=1000,iocharset=utf8

où le fichier mycredentials peut avoir le nom et se trouver sur le chemin que vous voulez, pourvu qu’il contienne les trois lignes ci-dessous. Remarquez que la commande mount est exécutée par root, donc le fichier mycredentials pourrait appartenir à root et être en lecture seule et pour lui seul, ce qui augmente un peu la sécurité.

username=personne
password=pass
domain=DOMAINE

Il peut arriver, même si le nom du serveur est connu et reconnu par d’autres commandes, qu’il ne le soit pas ici. Il faut alors utiliser l’adresse IP. À partir d’un nom, comme serveur, on peut trouver l’adresse IP par nmblookup -I serveur. On peut alors faire :

sudo mount.cifs //192.168.1.143/partage /mnt/montage -o credentials=~/.config/mycredentials,uid=1000,iocharset=utf8

et si on veut monter systématiquement, on écrit dans /etc/fstab :

//192.168.1.10/partage /mnt/montage cifs  credentials=/home/moi/.config/mycredentials,uid=1000,iocharset=utf8 0 0

(Ici, on ne peut écrire~/.config parce que ce n’est pas l’utilisateur qui lit fstab au boot.) Ce n’est pas fini. On peut choisir de ne pas monter de tels partages au boot. D’abord, il n’est pas sûr que le partage soit accessible au moment où /etc/fstab est lu. Ensuite, on n’a peut être pas besoin de ce partage tout le temps. Par ailleurs, si le partage doit être monté à la demande, on peut préférer le faire comme utilisateur ordinaire, sans sudo. Au bout du compte, ça donne dans fstab :

//192.168.1.10/partage /mnt/montage cifs  user,noauto,credentials=/home/moi/.config/mycredentials,uid=1000,iocharset=utf8 0 0

et il n’y a plus alors qu’à activer le montage au moment désiré par une simple commande mount /mnt/montage qui ne demande plus ni sudo, ni option, ni credentials.

On monte souvent les médias amovibles sous /média et les trucs plus traditionnels sous /mnt comme dans les exemples ci-dessus. Mais rien n’interdit de monter sous /home et c’est même le plus logique si un utilisateur, pour un travail donné, a une série de dossiers bien organisés et veut y adjoindre un dossier monté à partir d’un partage. Donc contrairement aux exemples ci-dessus et à la plupart des conseils en matière de montage, inspirés du moyen âge d’Unix, une ligne fstab typique de partage serait finalement du genre :

//192.168.1.10/teamwork /home/moi/TelJob/Collectif cifs  user,noauto,credentials=/home/moi/.config/mycredentials,uid=1000,iocharset=utf8 0 0

Les montages user, noauto de fstab sont en fait proposés par le menu Raccourcis (Places) du bureau Gnome et par le volet de gauche des raccourcis de Nemo ou de Nautilus. En les cliquant on obtient à la fois le montage 15 du partage et la navigation. (C’est du moins le cas pour les montages sous /média et sous /home. Peut-être pas sous /mnt.) Cela donne une situation extrêmement confortable où on peut monter et démonter à la demande les partages prévus, sans même devoir ouvrir un terminal pour mount.

Notes
15
Ce serait jouer avec le feu d’utiliser des caractères non ASCII dans le nom de serveur et de partages Samba. Par contre, c’est parfaitement permis dans les noms de dossiers de son propre ordinateur. Et fstab, et mount l’acceptent. On pourrait donc avoir //192.168.1.10/school /home/moi/École cifs user,noauto,… et faire avec succès mount /home/moi/École avec l’accent du É. Cependant le menu Raccourci, Nautilus et Nemo vont proposer correctement École, mais échouer à monter.
Dominique Meeùs . Date: 2011… 2017