Alguém sabe como montar um caminho SFTP remoto via SSHFS para que você possa trabalhar com links simbólicos? Quando faço isso, todos os links simbólicos que eu crio apontam para os arquivos errados (não os que eu vinculei.) Todos os links simbólicos nos quais estou interessado são relativos (não absolutos), portanto, para que eles apareçam exatamente como na máquina remota ser ideal.
Usando sshfs com as opções de montagem padrão, não consigo criar um link simbólico para outro arquivo no diretório atual:
$ cd /mnt/path/to/sshfs/mount
$ ln -s ./test ./test2
$ ls test2
lrwxrwxrwx 1 root webusers 11 Jul 3 09:11 test2 -> /test
O que está obviamente incorreto, pois o destino do link está no diretório atual ( ./test
), mas aqui você pode ver que o sshfs cria um link /test
incorreto - o destino do link /mnt/path/to/sshfs/mount/test
não está /test
.
Ao adicionar a transform_symlinks
opção ao montar o sistema de arquivos sshfs, recebo um link relativo com o mesmo comando, mas ele ainda aponta para o lugar errado:
$ cd /mnt/path/to/sshfs/mount
$ ln -s ./test ./test2
$ ls test2
lrwxrwxrwx 1 root webusers 11 Jul 3 09:13 test2 -> ../../../test
Aqui eu tentei vincular ./test
no diretório atual, mas em vez disso, consegui um link para ../../../test
três níveis!
Conectar-se ao cliente SFTP da linha de comando em sftp
vez de montar com sshfs funciona no entanto:
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
Portanto, isso me diz que o servidor SFTP remoto está funcionando bem (já que posso criar links simbólicos com um cliente SFTP dedicado), mas, por alguma razão, não consigo criar links simbólicos funcionais através do sshfs.
Curiosamente, quando eu uso o sshfs para montar um caminho em um servidor SSH que fornece acesso ao shell (em oposição a um servidor somente SFTP), os links simbólicos funcionam bem - posso criá-los corretamente. Apenas parece ser problemático quando conectado a um servidor somente SFTP.
O que estou fazendo de errado? Existe uma opção especial que tenho que passar para o sshfs quando estou me conectando a um servidor SFTP para fazer com que os links simbólicos funcionem?
ls -l
os links simbólicos de teste?sftp
em minúsculas quero dizer a interface SFTP da linha de comando, ou seja/usr/bin/sftp
. Meu último exemplo no post é quando eu faço o link simbólico usando esse cliente SFTP, assim como você solicita.transform_symlinks
opção, o que você está fazendo em uma montagem ssh com atransform_symlinks
opção e o que você está fazendo com um cliente sftp. Os links simbólicos funcionam normalmente no SSHFS; portanto, a resposta para sua primeira frase é "nada" - você encontrou um bug ou não está digitando os comandos certos, mas seus relatórios não são muito claros para saber o que está errado.Respostas:
Para transformar
/
links simbólicos absolutos remotos (começando com ) em relativos aosshfs
ponto de montagem, use afollow_symlinks
opção:A
transform_symlinks
opção não faz nada para mim, veja este problema .fonte
Já vi o comportamento que você descreveu antes, mas testando-o agora, posso criar links simbólicos muito bem em um diretório montado no sshfs:
I atualizado sshd no controle remoto cerca de 4 meses atrás. A versão antiga teria vários anos. Talvez a atualização tenha corrigido o problema. Isso pode dar uma pista do que estou usando agora:
Eu não fiz nada para mudar o sshfs, exceto o que o Ubuntu faz automaticamente.
HTH.
fonte