Кто-нибудь знает, как смонтировать удаленный путь SFTP через SSHFS, чтобы вы могли работать с символическими ссылками? Когда я делаю это, все созданные мной символические ссылки указывают на неправильные файлы (не те, на которые я ссылался). Все символические ссылки, которые меня интересуют, являются относительными (не абсолютными), поэтому их отображение будет точно таким же, как на удаленной машине быть идеальным
Используя sshfs с параметрами монтирования по умолчанию, я не могу создать символическую ссылку на другой файл в текущем каталоге:
$ cd /mnt/path/to/sshfs/mount
$ ln -s ./test ./test2
$ ls test2
lrwxrwxrwx 1 root webusers 11 Jul 3 09:11 test2 -> /test
Что, очевидно, неверно, так как цель ссылки находится в текущем каталоге ( ./test
), но здесь вы можете видеть, что sshfs создает ссылку на /test
которую неверно - цель ссылки - /mnt/path/to/sshfs/mount/test
нет /test
.
Добавляя transform_symlinks
параметр при монтировании файловой системы sshfs, я получаю относительную ссылку вместо этой же команды, но она все равно указывает на неправильное место:
$ cd /mnt/path/to/sshfs/mount
$ ln -s ./test ./test2
$ ls test2
lrwxrwxrwx 1 root webusers 11 Jul 3 09:13 test2 -> ../../../test
Здесь я попытался сделать ссылку ./test
в текущем каталоге, но вместо этого я получил ссылку на ../../../test
три уровня выше!
Однако соединение с SFTP-клиентом sftp
из командной строки вместо монтирования с помощью sshfs работает:
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
Это говорит о том, что удаленный SFTP-сервер работает нормально (поскольку я могу создавать символические ссылки с выделенным SFTP-клиентом), но по какой-то причине я не могу создать какие-либо рабочие символические ссылки через sshfs.
Как ни странно, когда я использую sshfs для монтирования пути на SSH-сервере, обеспечивающем доступ к оболочке (в отличие от SFTP-сервера), символические ссылки работают нормально - я могу создать их правильно. Это кажется проблематичным только при подключении к SFTP-серверу.
Что я делаю неправильно? Есть ли особая опция, которую я должен передать sshfs при подключении к SFTP-серверу, чтобы заставить работать символические ссылки?
ls -l
ваших тестовых символических ссылок?sftp
в нижнем регистре , я имею в виду SFTP интерфейс командной строки, то есть/usr/bin/sftp
. Мой последний пример в посте - когда я делаю символическую ссылку, используя этот SFTP-клиент, как вы и просили.transform_symlinks
опции, что вы делаете с монтированием ssh сtransform_symlinks
опцией, и что вы делаете с клиентом sftp. Симлинки работают нормально по SSHFS, поэтому ответом на ваше первое предложение будет «ничего» - либо вы столкнулись с ошибкой, либо не набираете правильные команды, но ваши отчеты слишком неясны, чтобы понять, что не так.Ответы:
Чтобы преобразовать удаленные абсолютные (начиная с
/
) символические ссылки относительноsshfs
точки монтирования, используйтеfollow_symlinks
параметр:transform_symlinks
Опция ничего не делает для меня, увидеть эту проблему .источник
Я видел поведение, которое вы описали ранее, но теперь, тестируя его, я могу просто создать символические ссылки в каталоге, смонтированном в sshfs:
Я обновил sshd на пульте около 4 месяцев назад. Старой версии было бы несколько лет. Возможно, обновление решило проблему. Это может дать некоторое представление о том, что я использую сейчас:
Я не сделал ничего, чтобы изменить sshfs, кроме того, что Ubuntu делает автоматически.
НТН.
источник