Quelqu'un sait-il comment monter un chemin SFTP distant via SSHFS afin que vous puissiez travailler avec des liens symboliques? Lorsque je fais cela, tous les liens symboliques que je crée pointent vers les mauvais fichiers (pas ceux auxquels je suis lié). Tous les liens symboliques qui m'intéressent sont relatifs (pas absolus), de sorte qu'ils apparaissent exactement comme ils le font sur la machine distante. être idéal.
En utilisant sshfs avec les options de montage par défaut, je ne peux pas créer de lien symbolique vers un autre fichier dans le répertoire courant:
$ cd /mnt/path/to/sshfs/mount
$ ln -s ./test ./test2
$ ls test2
lrwxrwxrwx 1 root webusers 11 Jul 3 09:11 test2 -> /test
Ce qui est évidemment incorrect, car la cible du lien est dans le répertoire courant ( ./test
), mais ici vous pouvez voir que sshfs crée un lien vers /test
lequel est incorrect - la cible du lien /mnt/path/to/sshfs/mount/test
ne l' est pas /test
.
En ajoutant l' transform_symlinks
option lorsque je monte le système de fichiers sshfs, j'obtiens un lien relatif à la place avec la même commande, mais il pointe toujours au mauvais endroit:
$ cd /mnt/path/to/sshfs/mount
$ ln -s ./test ./test2
$ ls test2
lrwxrwxrwx 1 root webusers 11 Jul 3 09:13 test2 -> ../../../test
Ici, j'ai essayé de créer un lien vers ./test
dans le répertoire actuel, mais à la place, j'ai obtenu un lien vers ../../../test
trois niveaux!
La connexion avec le client SFTP en ligne de commande sftp
au lieu du montage avec sshfs fonctionne cependant:
sftp> open ...
sftp> symlink test test2
...
$ cd /mnt/path/to/sshfs/mount
$ ls test2
lrwxrwxrwx 1 root webusers 11 Jul 3 09:13 test2 -> test
Donc, cela me dit que le serveur SFTP distant fonctionne bien (car je peux créer des liens symboliques avec un client SFTP dédié), mais pour une raison quelconque, je ne peux pas créer de liens symboliques de travail via sshfs.
Curieusement, lorsque j'utilise sshfs pour monter un chemin sur un serveur SSH fournissant un accès shell (par opposition à un serveur SFTP uniquement), les liens symboliques fonctionnent correctement - je peux les créer correctement. Cela ne semble problématique que lorsqu'il est connecté à un serveur SFTP uniquement.
Qu'est-ce que je fais mal? Existe-t-il une option spéciale que je dois transmettre à sshfs lorsque je me connecte à un serveur SFTP pour que les liens symboliques fonctionnent?
ls -l
vos liens symboliques de test?sftp
en minuscules, je veux dire l'interface SFTP en ligne de commande, c'est à dire/usr/bin/sftp
. Mon dernier exemple dans la publication est lorsque je crée le lien symbolique en utilisant ce client SFTP, exactement comme vous le demandez.transform_symlinks
option, ce que vous faites sur un montage ssh avec l'transform_symlinks
option et ce que vous faites avec un client sftp. Les liens symboliques fonctionnent normalement sur SSHFS, donc la réponse à votre première phrase est «rien» - soit vous avez rencontré un bogue, soit vous ne saisissez pas les bonnes commandes, mais votre rapport est trop peu clair pour savoir ce qui ne va pas.Réponses:
Pour transformer les
/
liens symboliques absolus distants (en commençant par ) pour qu'ils soient relatifs ausshfs
point de montage, utilisez l'follow_symlinks
option:L'
transform_symlinks
option ne fait rien pour moi, voir ce problème .la source
J'ai vu le comportement que vous décrivez auparavant, mais en le testant maintenant, je peux très bien créer des liens symboliques sur un répertoire monté par sshfs:
J'ai mis à jour sshd sur la télécommande il y a environ 4 mois. L'ancienne version aurait été vieille de plusieurs années. Peut-être que la mise à niveau a résolu le problème. Cela peut donner une idée de ce que j'utilise maintenant:
Je n'ai rien fait pour changer sshfs, sauf ce que fait Ubuntu automatiquement.
HTH.
la source