Перейти к содержимому

Как примонтировать ftp папку в linux

  • автор:

Монтирование удалённой папки (FTP, SSH) в Linux

Монтировать удалённые каталоги можно используя протоколы Раздел FTP: Протокол FTP, серверы, клиенты FTP для Linux и Windows (требует curlftpfs), WebDav (fusedav), GMail (gmailfs), Flickr(flickrfs), SSH File Transfer Protocol (SFTP) настройка под хостинг Apache(sshfs).

Монтирование удалённой FTP ресурса

Для монтирования FTP требуется пакет curlftpfs.

Debian, Ubuntu apt install curlftpfs CentOS 7 yum install curlftpfs CentOS, Fedora, AlmaLinux, and Red Hat: dnf install curlftpfs
curlftpfs ftp://[пользователь]:[пароль]@имя_сервера /media/ftp [опции] Пример: curlftpfs ftp://backup:123task@159.xxx.xxx.xxx /home/darkfire/ftp_share
curlftpfs имя_сервера /media/ftp -o user=пользователь:пароль [другие_опции]
fusermount -u /media/ftp

Как примонтировать папку по sftp (sshfs)?

Рассмотрим вариант монтирование удаленной директории с использованием протокола SSH File Transfer Protocol (SFTP) настройка под хостинг Apache.

В ОС должна быть установлена поддержка FUSE: пакет sshfs — содержащий клиента файловой системы, основанный на протоколе передачи файлов SSH.

CentOS yum install fuse-sshfs Debian, Ubuntu apt install sshfs
adduser yourusername fuse $ mkdir ~/sftpshare
$ sshfs hostuser@remote.host.or.ip:/path/to/directory ~/sftpshare

Отмонтируется удаленный ресурс командой fusermount:

$ fusermount -u ~/sftpshare

Автоподключение и перемонтирование удаленных папок. Для этого есть несколько вариантов:

Использовать опцию reconnect

sshfs -o reconnect hostuser@remote.host.or.ip:/path/to/directory ~/sftpshare

Ключ -C (equivalent to ‘-o compression=yes’)включает сжатие (немного экономит трафик и ускоряет соединение)

sshfs -C -o reconnect hostuser@remote.host.or.ip:/path/to/directory ~/sftpshare

autofs

Прописать в /ets/fstab

# apt search autofs autofs - Переходный пакет от autofs к autofs5 autofs5 - Встроенный в ядро автоматический монтировщик для Linux, версия 5.

Afuse — An automounter implemented with FUSE. Установим и настроим Afuse.

# apt install afuse $ mkdir ~/sshfs/

Запустим демон afuse, кторый будет отслеживать все обращения к директории ~/sshfs/:

afuse -o mount_template="sshfs %r:/ %m" -o unmount_template="fusermount -u -z %m" ~/sshfs/

После чего все обращения к файлам и папкам в папке ~/sshfs/ будут вызывать монтирование соответствующей папки в ~/sshfs/. После чего обращение пойдет дальше на удаленный хост. Самое главное для нас — все происходит абсолютно прозрачно при первом обращении к нужной папке из любой программы.

Например: ls ~/sshfs/tmpvar@foobarhost.com вначале малость потормозит, потом покажет содержимое корневой папки / сервера foobarhost.com. Конечно, не всегда удобно писать полный адрес и параметры доступа к серверу tmpvar@foobarhost.com:22, поэтому мы их перенесем в настройки доступа ssh.

cat ~/.ssh/config Host file-storage Hostname filestorage.server.com Port 2222 # на сервере может быть использован нестандартный порт HostKeyAlias fs User admin

Теперь мы можем обращаться к нашему серверу по короткому имени fs как в ssh, так и в sshfs:

ssh fs # заходим на сервер — никаких лишних настроек не надо
ls ~/sshfs/fs # смотрим корневую папку сервера.

Если вы монтите папку первый раз, то у вас появится окошко ввода пароля для доступа к указанному серверу. После того как соединение установлено, окно больше не будет вас докучать. Как вы уже поняли — можно легко сказать окну не вылезать — сделав авторизацию на сервер по ключу.

unixforum.org

Привет всем. как в Mandriva 2010.0 сделать монтирование ftp папки чтобы в дальнейшем ее использовать в wine приложении как сетевой диск? Необходимо сделать чтобы это происходило автоматически при старте сеанса. Я поставил autofs и там прописал монтирование но при входе в смонтированный диск ошибка файл или папка . не существует. Извините за ламерский вопрос в linux я новичек.

Спасибо сказали:
BIgAndy Сообщения: 1923

Re: Монтирование ftp папки

Сообщение BIgAndy » 10.10.2010 12:33

10.10.2010 11:31

Привет всем. как в Mandriva 2010.0 сделать монтирование ftp папки чтобы в дальнейшем ее использовать в wine приложении как сетевой диск?

Необходимо сделать чтобы это происходило автоматически при старте сеанса.

Whatis в вашем понимании «сеанс»?
Я поставил autofs

Это кашерно.
Но это все для линукса.

и там прописал монтирование но при входе в смонтированный диск ошибка файл или папка . не существует.

Телепаты гадают, что же такое вы там прописали?

PS. в вайне надо будет прописать еще симлинки dosdevices.

Да, стесняюсь спросить
А что? в вайне не работают масдайные драйвера ftp?

Спасибо сказали:
NoN098 Сообщения: 15

Re: Монтирование ftp папки

Сообщение NoN098 » 10.10.2010 13:09

10.10.2010 12:33
10.10.2010 11:31

Привет всем. как в Mandriva 2010.0 сделать монтирование ftp папки чтобы в дальнейшем ее использовать в wine приложении как сетевой диск?

на windows машине находящейся в другом городе стоит u-serv. на нем роздана в инет папка. Технология по которой это будет работать — без разницы. главное чтобы работало.

Необходимо сделать чтобы это происходило автоматически при старте сеанса.

Whatis в вашем понимании «сеанс»?

Сеанс это когда включается kde

Я поставил autofs

Это кашерно.
Но это все для линукса.

Мне и необходимо смонтировать папку в linux

и там прописал монтирование но при входе в смонтированный диск ошибка файл или папка . не существует.

Телепаты гадают, что же такое вы там прописали?

/media/ftp /etc/autofs/auto.ftp —timeout=60,ghost

armavir -fstype=curl,allow_other :ftp\://логин\:пароль\@ip/d\:\папка

PS. в вайне надо будет прописать еще симлинки dosdevices.
Можешь пальцем ткнуть где?

Да, стесняюсь спросить
А что? в вайне не работают масдайные драйвера ftp?

т.е.? я пытался в конфигураторе wine прописать ftp как диск но не катит, он не показывается

Еще раз прошу прощения я же говорил что в linux ламер, поэтому если не сложно пишите более подробно что зачем и почему

Спасибо сказали:
SinClaus Сообщения: 1951 Статус: Мучитель Мандривы ОС: Arch,BSD

Re: Монтирование ftp папки

Сообщение SinClaus » 10.10.2010 16:53

А кто сказал что FTP папки можно использовать как сетевой диск? И причём тут вообще wine?
Спасибо сказали:
NoN098 Сообщения: 15

Re: Монтирование ftp папки

Сообщение NoN098 » 10.10.2010 17:39

10.10.2010 16:53
А кто сказал что FTP папки можно использовать как сетевой диск? И причём тут вообще wine?

я и спрашиваю совета как это сделать. мне надо из 1с сохранять документы в эту ftp папку но надо чтобы пользователь не задумывался как ее подключить

Спасибо сказали:
eddy Сообщения: 3321 Статус: Красный глаз тролля ОС: ArchLinux Контактная информация:

Re: Монтирование ftp папки

Сообщение eddy » 10.10.2010 17:42

Ну и монтируйте при помощи ftpfs (из пакета fuse).
RTFM
——-
KOI8-R — патриотичная кодировка
Спасибо сказали:
NoN098 Сообщения: 15

Re: Монтирование ftp папки

Сообщение NoN098 » 10.10.2010 17:47

10.10.2010 17:42
Ну и монтируйте при помощи ftpfs (из пакета fuse).

я ламер в Linux. если не трудно напиши инструкцию. я уже перепробовал все что есть в интернете но везде напарываюсь на какой нибудь косяк

Спасибо сказали:
eddy Сообщения: 3321 Статус: Красный глаз тролля ОС: ArchLinux Контактная информация:

Re: Монтирование ftp папки

Сообщение eddy » 10.10.2010 19:01

Ну что ж вы, и в «гуглении» — ламер? Вот, первая же ссылка.
RTFM
——-
KOI8-R — патриотичная кодировка
Спасибо сказали:
olelukoie Сообщения: 1248 ОС: Linux, Win

Re: Монтирование ftp папки

Сообщение olelukoie » 10.10.2010 22:04

10.10.2010 19:01
Ну что ж вы, и в «гуглении» — ламер? Вот, первая же ссылка.

«Первая же ссылка» ведет на описание процесса в debian, и если пользователь пока еще новичок, то дальше первой команды (apt-get . ) о не продвинется

Вот как это делается в мандриве:

1. Устанавливаем пакет curlftpfs с помощью «установки и удаления программ» или из консоли с помощью urpmi .
2. Создаем директорию, куда будем монтировать ftp-шник.
3. Проверяем работоспособность командой:

curlftpfs ftp://ftp.mandriva.ru/ /путь/куда/монтируем -o ro,allow_other,uid=0,gid=0

После выполнения этой команды в выбранной директории должно быть содержимое сервера ftp.mandriva.ru uid=0 и gid=0 — это указание установить владельцем рута. Для обычного юзера здесь надо указать его uid и gid. В статье говорится, что работают только числовые значения, у меня тоже слово root дало ошибку.
4. Меняем адрес сервера, указываем правильные значения uid и gid, если сервер доступен для записи, то удаляем опцию «ro» и монтируем. Проверяем.
5. Если все ОК, то добавляем строку, как описано в заметке по ссылке, в файл /etc/fstab.

Спасибо сказали:
NoN098 Сообщения: 15

Re: Монтирование ftp папки

Сообщение NoN098 » 11.10.2010 23:32

10.10.2010 22:04
10.10.2010 19:01
Ну что ж вы, и в «гуглении» — ламер? Вот, первая же ссылка.

«Первая же ссылка» ведет на описание процесса в debian, и если пользователь пока еще новичок, то дальше первой команды (apt-get . ) о не продвинется

Вот как это делается в мандриве:

1. Устанавливаем пакет curlftpfs с помощью «установки и удаления программ» или из консоли с помощью urpmi .
2. Создаем директорию, куда будем монтировать ftp-шник.
3. Проверяем работоспособность командой:

curlftpfs ftp://ftp.mandriva.ru/ /путь/куда/монтируем -o ro,allow_other,uid=0,gid=0

После выполнения этой команды в выбранной директории должно быть содержимое сервера ftp.mandriva.ru uid=0 и gid=0 — это указание установить владельцем рута. Для обычного юзера здесь надо указать его uid и gid. В статье говорится, что работают только числовые значения, у меня тоже слово root дало ошибку.
4. Меняем адрес сервера, указываем правильные значения uid и gid, если сервер доступен для записи, то удаляем опцию «ro» и монтируем. Проверяем.
5. Если все ОК, то добавляем строку, как описано в заметке по ссылке, в файл /etc/fstab.

Спасибо большое, это помогло. Но есть маленькая заминка — из linux файлы на ftp сохраняются, но из 1c почему то нет. В чем может быть дело?

Хотел примонтировать ftp-папку, но не получилось

Всем привет. Вобщем, есть один сайтик с ftp-доступом, мне надо его админить, решил примонтировать его ftp-сервер себе в папку во freebsd.

/etc/rc.conf содержит fusefs_enable=«YES», curlftpfs стоит.

$ curlftpfs ftp://x:x@ftp.xxxxxx.xx /www/test -o rw mount_fusefs: /dev/fuse on /www/test: Operation not permitted fuse: failed to mount file system: Operation now in progress 

Команду запускаю из под юзера «х», он является владельцем папки /www/test, а также устройства /dev/fuse

UPD: А нет, «х» не владелец устройства /dev/fuse, почему-то на него команда

# chown x:x /dev/fuse 

не действует.

UPD: Монтирование под рутом не вызывает ошибки но и не даёт результата

Монтируем FTP ресурс как локальную FS

Захотелось как-то исполнить команду find в ftp-пространстве, но любой нормальный ftp сервер этого не даст сделать, а решение ну очень хотелось найти.

Вот и был обнаружен curlftpfs:

$ aptitude show curlftpfs Пакет: curlftpfs Состояние: установлен Автоматически установлен: нет Версия: 0.9.2-1 Приоритет: необязательный Раздел: utils Сопровождающий: Ding Honghui Размер в распакованном виде: 111k Зависимости: libc6 (>= 2.7-1), libcurl3-gnutls (>= 7.16.2-1), libfuse2 (>= 2.6), libglib2.0-0 (>= 2.12.0), fuse-utils Описание: filesystem to access FTP hosts based on FUSE and cURL CurlFtpFS is a tool to mount FTP hosts as local directories. It connects to a FTP server and maps its directory structure to the local filesystem. Based on FUSE (filesystem in userspace) and the cURL library, CurlFtpFS has some features that distinguish it over other FTP filesystems: * support for SSLv3 and TLSv1 * connecting through tunneling HTTP proxies * automatic reconnection if the server times out * conversion of absolute symlinks to point back into the FTP filesystem Сайт: http://curlftpfs.sourceforge.net

С помощью этого замечательного средства можно выполнить практически любую операцию с ftp-ресурсом.

Для начала установим пакет:

$ sudo aptitude install curlftpfs

Затем подмонтируем интересующий нас ftp-ресурс:

$ mkdir temp-ftpfs $ curlftpfs ftp://$USER:$PASSWD@$HOST/ temp-ftpfs $ cd temp-ftpfs $ ls $ find / -name '*.txt'

Всё очень просто.

А вот отномнтировать получится только с root’овыми правами:

$ sudo umount curlftpfs#ftp://$USER:$PASSWD@$HOST/


Отмонтировать можно так:

$ fusermount -u temp-ftpfs

PS: Вольный перевод, с некоторыми дополнениями, статьи с Debian Administration.
ЗЫ: На мой взгляд удобнее использовать sshfs, но если нет доступа по ssh тогда и вышеуказанный метод на что-нибудь да сгодится.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *