Хтось знає, як змонтувати віддалений шлях 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-сервера, щоб змусити роботу символьних посилань?
sftp
в малі регістри, я маю на увазі інтерфейс SFTP командного рядка, тобто /usr/bin/sftp
. Мій останній приклад у публікації - це коли я роблю симпосилання за допомогою цього клієнта SFTP так само, як ви просите.
transform_symlinks
варіанту, що ви робите над монстром на ssh з цим transform_symlinks
параметром та що ви робите з клієнтом sftp. Символьні посилання працюють нормально над SSHFS, тому відповідь на ваше перше речення - "нічого" - або ви зіткнулися з помилкою, або не набираєте правильних команд, але ваш звіт занадто незрозумілий, щоб знати, що не так.
ls -l
тестових посилань?