Монтируем FTP ресурс как локальную FS
Захотелось как-то исполнить команду find в ftp-пространстве, но любой нормальный ftp сервер этого не даст сделать, а решение ну очень хотелось найти.
Вот и был обнаружен curlftpfs:
С помощью этого замечательного средства можно выполнить практически любую операцию с ftp-ресурсом.
Для начала установим пакет:
Затем подмонтируем интересующий нас ftp-ресурс:
А вот отномнтировать получится только с root’овыми правами:
Отмонтировать можно так:
PS: Вольный перевод, с некоторыми дополнениями, статьи с Debian Administration.
ЗЫ: На мой взгляд удобнее использовать sshfs, но если нет доступа по ssh тогда и вышеуказанный метод на что-нибудь да сгодится.
Ой, у вас баннер убежал!
Редакторский дайджест
Присылаем лучшие статьи раз в месяц
Скоро на этот адрес придет письмо. Подтвердите подписку, если всё в силе.
Похожие публикации
Работа с cron под Android и добавление shell-скрипта в автозапуск при загрузке устройства
nushell — современный shell, сочетающий Unix-конвейеры и объекты в духе PowerShell
Sampler. Консольная утилита для визуализации результата любых shell команд
Курсы
AdBlock похитил этот баннер, но баннеры не зубы — отрастут
Комментарии 43
А вот отномнтировать получится только с root’овыми правами:
С помощью этого замечательного средства можно выполнить практически любую команду на ftp-ресурсе.
Linux работает нативно с sftp, у KDE и Гнома поддержка на уровне виртуальных файлоывых систем.
Windows — WinScp + видел плагин к TotalCommander
MacOS — тоже думаю с поддержкой проблем не должно быть.
Вам требуются shell команды при работе с анонимными ftp серверами?
На мой взгляд целесообразней файлопомойку раздавать через http.
Я не говорю о том что фтп нельзя использовать ни при каких обстоятельствах, но зачастую это лишь дань традиции.
Плюсы sftp:
+ sftp это посути подпротокл ssh, наследующий безопастность и многое другое
+ безпарольная авторизация по ключам
+ нативное сжатия трафика (при необходимости)
+ команды позволяющие оперировать файлами удалённо
+ отсутствие активного режима и проблем с ним связанных
+ нет необходимости ставить дополнительный демон, всё работает через sshd
+ лучшая устойчивость на нестабильном и медленном соединении (субъективно)
+ быстрая работа с большим количеством мелких файлов.
Минусы:
— маленькая производительность на больших скоростях из-за шифрования
— сложность организации chroot (блокирование бользователя в домашнем каталоге) в случае когда это необходимо
Монтирование ftp в linux
Монтируем ftp-сервер как локальную папку на вашем локальном компьютере под управлением операционной системы Linux
Для работы с файлами находящимися на FTP сервере как с локальными необходимо установиться программу CurlFtpFS.
CurlFtpFS — является инструмент для соединения FTP узлов как локальных директорий на вашем компьютере. Программа соединяется с FTP-сервером и отображает его директории в локальной файловой системе.
Установка CurlFtpFS.
# sudo aptitude install curlftpfs
Настраиваем CurlFtpFS для подключения к FTP:
Можно еще сделать что бы ваш FTP Монтировался как автоматически при загрузке системы. Для этого требуется отредактироваться файл /etc/fstab
Добавляем в него строчку
curlftpfs#ftpUser:ftpPass@ftp://ftpHost /localDirectory fuse rw,uid=1000,umask=0777,user,suid,allow_other,exec,auto,utf8 0 1
В этой строчке надо заменить значения выделенные жирным шрифтом на свои.
- ftpUser — Имя пользователя для подключения к FTP.
- ftpPass — Пароль для подключения к FTP.
- ftpHost — Адрес сервера FTP (Он же хост).
- /localDirectory — Путь к папке, в которую будет монтироваться FTP (Предварительно создать папку).
Перезагрузить компьютер или запустить команду которая перемонтирует все диски
# mount -a
Еще можно сделать что бы ваш FTP-сервер монтировался при загрузке компьютера как диск.
Для Этого редактируем файл /etc/rc.local
Вставьте этот код, предварительно изменив в нём логин, пароль и хост для вашего FTP, аналогично примеру выше, перед строчкой «exit 0»:
Блог начинающего линуксоида
четверг, 26 января 2012 г.
Монтирование FTP SFTP в Linux Ubuntu
Для монтирования будем использовать FUSE модули curlftpfs (http://curlftpfs.sourceforge.net/)
и sshfs (http://fuse.sourceforge.net/sshfs.html).
curlftpfs хорош тем, что поддерживает шифрование (SSLv3/TLSv1), может работать поверх HTTP-прокси
и автоматически обрабатывает ситуации разрыва соединения. Sshfs интересен
возможностью кэширования содержимого директорий.
Для работы с FUSE от имени локального пользователя нужно добавить его в группу fuse:
sudo addgroup логин fuse
Настраиваем права доступа к директории в которую будем производить монтирование:
chgrp fuse /home/user/mnt
chmod g+w /home/user/mnt
Ставим curlftpfs и sshfs:
aptitude install fuse-utils curlftpfs sshfs
монтирование FTP директории производится командой:
curlftpfs ftp://ftp.test.ru /home/user/mnt
или если используется пароль:
curlftpfs ftp://логин:пароль@ftp.test.ru /home/user/mnt
Кодировку можно задать через
curlftpfs -o codepage=koi8-r,iocharset=utf8 ftp://ftp.test.ru /home/user/mnt
где koi8-r кодировка на ftp-сервере, utf8 — кодировка локальной системы.
Выход через http-прокси можно организовать через опцию «-o proxy=host:port»
Автоматизировать ввод пароля можно через стандартный
Монтирование удалённых FTP и Samba директорий в локальную
Продолжаю тему монтирования удалённых каталогов. В прошлый раз я писал про монтирование через sshfs, или sftp. В этот раз напишу про монтирования samba шар, и ftp. В этот раз обойдусь без предисловия, и преступим сразу к делу 🙂 Предполагается, что у вас уже есть рабочие и настроенные ftp и smb сервера.
Монтирования samba директорий
Для монтирования я предпочитаю использовать cifs который во многих дистрибутивах уже собран в ядре.
Собственно всё монтирование умещается в одну команду:
Теперь по порядку. С помощью -t cifs мы указываем mount, что монтируем с помощью cifs. Далее указывается адрес samba сервера, и собственно сама samba шара. После — директория в которую монтируем шару, и указываем параметры монтирования: логин, пароль и кодировку.
Чтобы не вводить каждый раз такую длинную команду нужно можно прописать в /etc/fstab :
Теперь после mount -a, или после перезагрузки системы, «шара» автоматически будет смонтирована в указанную директорию. Если этого не требуется, то можно добавить параметр noauto, и монтировать директорию когда это нужно:
Чтобы смонтировать директорию достаточно ввести sudo mount /mnt/share_folder
Монтирования ftp директорий
Для монтирования удалённых ftp директорий будем использовать curlftpfs:
И снова чтобы смонтировать достаточно одной команды:
После -o указываются необходимые параметры. Параметр allow_other позволяет просматривать директорию не только супер пользователю. Параметр user отвечает за имя пользователя\пароль, и дальше указывается директория в которую монтируем.
Этот способ не лишён недостатков в вопросе безопасности. В частности, если посмотреть список процессов через ps -aux, то будет видно логин и пароль, поэтому можно немного обезопасить себя. Для этого, в домашней директории надо создать файл .netrc с примерно таким содержанием:
Параметры надо изменить на свои, и разрешить чтение и запись файла только текущему пользователю:
Чтобы несколько автоматизировать данный процесс, можно прописать монтирование в fstab:
Только в этом случае, следует в директории рута, тоже создать файл /root/.netrc с параметрами доступа к ftp серверу. Так же как и в предыдущем примере параметр noauto в /etc/fstab можно оставить, или убрать.