{"id":113,"date":"2011-01-02T21:05:56","date_gmt":"2011-01-02T20:05:56","guid":{"rendered":"http:\/\/crudelis.fr\/blog\/?p=113"},"modified":"2011-01-02T21:05:56","modified_gmt":"2011-01-02T20:05:56","slug":"creer-un-dossier-de-partage-avec-sshfs","status":"publish","type":"post","link":"https:\/\/crudelis.fr\/site\/sblog\/2011\/01\/creer-un-dossier-de-partage-avec-sshfs\/","title":{"rendered":"Cr\u00e9er un dossier de partage avec sshfs"},"content":{"rendered":"<p>Un petit tuto simple pour partager des donn\u00e9es entre plusieurs ordinateurs de fa\u00e7on s\u00e9curis\u00e9e et pratique.<\/p>\n<p>L'id\u00e9e est simple, plut\u00f4t que d'utiliser une cl\u00e9 USB, peu pratique, ou un partage nfs qui se restreint au r\u00e9seau local. On va monter un dossier distant \u00e0 travers une connexion ssh. S\u00e9curis\u00e9, rapide et accessible de n'importe o\u00f9.<br \/>\n<!--more--><br \/>\nAvant de d\u00e9buter, les pr\u00e9requis:<\/p>\n<p>- Avoir un serveur ssh op\u00e9rationnel, c'est lui qui h\u00e9bergera le dossier de partage.<br \/>\n- Sur chaque client, pour utiliser sshfs, il faut \u00e9videmment avoir openssh-client (install\u00e9 par d\u00e9faut en g\u00e9n\u00e9ral). Mais si le serveur ssh est d\u00e9j\u00e0 en place, on peut supposer que les clients sont op\u00e9rationnels eux aussi.<\/p>\n<p>Pour commencer, on va installer sshfs<\/p>\n<pre>apt-get install sshfs<\/pre>\n<p>sshfs va nous permettre de monter un dossier distant dans un dossier local via ssh.<br \/>\nOn l'utilise de la mani\u00e8re suivante:<\/p>\n<pre>sshfs 'login'@'serveur':\/dossier_parent\/dossier_de_partage -p 22 dossier_local<\/pre>\n<p>'login'@'serveur' de la m\u00eame mani\u00e8re que pour<br \/>\nune connexion ssh habituelle.<br \/>\nLe dossier de partage est le dossier distant sur le serveur ssh, le dossier local le dossier dans lequel on va faire le montage.<\/p>\n<p>L'option -p est \u00e0 utiliser uniquement si vous n'utiliser pas le port standard.<\/p>\n<p>Ceci va donc monter le dossier distant dans le dossier local.<br \/>\nPour ne pas consommer inutilement des ressources, nous allons d\u00e9monter le dossier de partage apr\u00e8s utilisation.<\/p>\n<pre>fusermount -u dossier_local<\/pre>\n<p>Prenons un exemple plus concret avec le partage utilis\u00e9 par Servus.<br \/>\nOn monte le dossier par<br \/>\n<code>sshfs maniack@crudelis.fr:\/media\/HD\/Dossier de partage -p 2222 \/media\/DOCUMENTS\/test<\/code><br \/>\nEt on le d\u00e9monte par<br \/>\n<code>fusermount -u \/media\/DOCUMENTS\/test<\/code><\/p>\n<p>Tout cela nous permet donc de monter un dossier depuis notre serveur ssh. Mais \u00e7a reste toutefois assez contraignant \u00e0 mettre en \u0153uvre.<br \/>\nPour cr\u00e9er un v\u00e9ritable dossier de partage simple et pratique, nous allons automatiser ce processus.<\/p>\n<p><em>Partie serveur:<\/em><br \/>\nTout d'abord, on cr\u00e9er un dossier sur le serveur, sur lequel on donne les droits d'\u00e9criture. Ce sera notre dossier de partage. Appelons-le 'partage' et pla\u00e7ons le dans '\/media\/HD\/partage'.<\/p>\n<p><em>Partie client:<\/em><br \/>\nEnsuite, nous cr\u00e9ons un dossier sur le poste client qui accueillera le montage. Pour notre exemple ce sera 'share_dir' dans '\/media\/disque\/share_dir'<br \/>\nDans ce dossier share_dir, on place le script suivant:<\/p>\n<pre>#!\/bin\/bash\nsshfs maniack@crudelis.fr:\/media\/HD\/partage -p 2222 -o nonempty \/media\/disque\/share_dir<\/pre>\n<p>Le script va donc monter le dossier distant 'partage' dans le dossier dans lequel il se trouve. L'option -o nonempty permettant d'autoriser le montage alors que le dossier n'est pas vide.<\/p>\n<p><strong>En rentrant dans le dossier share_dir, il suffit maintenant d'ex\u00e9cuter le script pour monter le dossier de partage.<\/strong><br \/>\nOn peut \u00e0 pr\u00e9sent se servir de notre dossier de partage et y mettre tout ce qu'on d\u00e9sire.<\/p>\n<p>Apr\u00e8s l'avoir utilis\u00e9, il va falloir le d\u00e9monter.<br \/>\nPour cela nous allons \u00e9crire un autre script<\/p>\n<pre>#!\/bin\/bash\nfusermount -u \/media\/disque\/share_dir<\/pre>\n<p>Placez ce script l\u00e0 o\u00f9 vous le voulez (en ce qui me concerne, au fond de mes documents avec d'autres scripts que je garde sous le coude). La seule contrainte est qu'il ne doit pas se trouver dans le dossier de partage. Sans quoi il ne fonctionnerais pas.<br \/>\nPour notre exemple, nous allons le placer dans \/media\/disque\/scripts\/.<br \/>\nCeci fais nous cr\u00e9ons un lien symbolique du script dans le dossier de partage mont\u00e9.<\/p>\n<pre>ln -s \/media\/disque\/scripts\/Umount_share_dir.sh \/media\/disque\/share_dir\/Umount_share_dir<\/pre>\n<blockquote><p>!!!-- Attention le lien symbolique doit \u00eatre plac\u00e9 dans le dossier une fois mont\u00e9, donc le dossier '\/media\/HD\/partage' sur le serveur. --!!!<\/p><\/blockquote>\n<p><strong>Nous voila maintenant avec un dossier de partage qui se monte simplement par ex\u00e9cution du script et qui se d\u00e9monte encore plus simplement par un double clic sur le lien Umount_share_dir<\/strong><\/p>\n<p>Afin que ce dossier de partage en soit vraiment un, il faut maintenant reproduire la partie client sur chacun des postes qui doivent acc\u00e9der au partage.<br \/>\nVous pouvez maintenant partager des fichiers facilement entre vos diff\u00e9rentes machines, de fa\u00e7on simple, s\u00e9curis\u00e9e et rapide. Et cela o\u00f9 que vous soyez tant que vous disposez d'une connexion internet.<\/p>\n<p>Bien que cette m\u00e9thode soit tr\u00e8s pratique pour partager des fichiers tr\u00e8s simplement, elle a quelques inconv\u00e9nients.<br \/>\n- Le script de d\u00e9montage ne peut pas \u00eatre plac\u00e9 \u00e0 l'int\u00e9rieur du dossier partag\u00e9. Ceci emp\u00eache le d\u00e9montage.<br \/>\n- Ce m\u00eame script doit se trouver au m\u00eame endroit (entendre m\u00eame chemin absolu) sur toutes les machines qui utilisent le partage, sauf \u00e0 multiplier d'autant les liens de d\u00e9montage.<br \/>\n- Le script de montage ne supporte pas d'\u00eatre ex\u00e9cut\u00e9 via un raccourci ou \u00e0 travers xterm. Ce qui aurait pu permettre de l'ex\u00e9cuter par un simple double clic.<\/p>\n<p>Note:<br \/>\nSi le d\u00e9montage est inefficace, v\u00e9rifiez bien qu'aucun programme n'utilise encore le dossier. En particulier,<br \/>\nquittez le terminal apr\u00e8s avoir effectu\u00e9 le montage.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un petit tuto simple pour partager des donn\u00e9es entre plusieurs ordinateurs de fa\u00e7on s\u00e9curis\u00e9e et pratique. L'id\u00e9e est simple, plut\u00f4t que d'utiliser une cl\u00e9 USB, peu pratique, ou un partage nfs qui se restreint au r\u00e9seau local. On va monter un dossier distant \u00e0 travers une connexion ssh. S\u00e9curis\u00e9, rapide et accessible de n'importe o\u00f9.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[3],"tags":[32,38,39],"class_list":["post-113","post","type-post","status-publish","format-standard","hentry","category-home-server","tag-partage","tag-ssh","tag-sshfs"],"_links":{"self":[{"href":"https:\/\/crudelis.fr\/site\/sblog\/wp-json\/wp\/v2\/posts\/113","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/crudelis.fr\/site\/sblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/crudelis.fr\/site\/sblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/crudelis.fr\/site\/sblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/crudelis.fr\/site\/sblog\/wp-json\/wp\/v2\/comments?post=113"}],"version-history":[{"count":0,"href":"https:\/\/crudelis.fr\/site\/sblog\/wp-json\/wp\/v2\/posts\/113\/revisions"}],"wp:attachment":[{"href":"https:\/\/crudelis.fr\/site\/sblog\/wp-json\/wp\/v2\/media?parent=113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/crudelis.fr\/site\/sblog\/wp-json\/wp\/v2\/categories?post=113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/crudelis.fr\/site\/sblog\/wp-json\/wp\/v2\/tags?post=113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}