Монтирование файловой системы FTP в linux

curlftpfsИногда нужно, чтобы FTP аккаунт был всегда под рукой, а вернее отдельным каталогом вашей файловой системы. В linux это делается с помощью пакета curlftpfs, при этом в ядре должна быть включена поддержка FUSE (во всех современных ядрах она есть, если вы только не пересобирали ядро сами :))

На официальный сайте проекта curlftpfs можно найти исходники программы, но практически во всех репозиториях она есть и исходники вам врядли понадобятся.

В ubuntu/debian ставим с помощью команды


$sudo aptitude install curlftpfs

На всякий случай подгружаем модуль ядра fuse (в разных дистрибутивах модуль может подгружаться и автоматом при задействовании системы FUSE)


$sudo modprobe fuse

Теперь можно и примонтировать ftp в какой-нибудь каталог, например /mnt/ftp

Следующие команды выполняем от sudo или суперпользователя


$sudo mkdir /mnt/ftp
$sudo curlftpfs ftp.server.ru /mnt/ftp/ -o user=ftpuser

после набора пароля пользователя ftp в каталоге /mnt/ftp будет отображаться содержимое ftp с правами пользователя ftp.
Чтобы не набирать пароль, можно его указывать в команде подключения


$sudo curlftpfs ftp.server.ru /mnt/ftp/ -o user=ftpuser:ftppassword

Внимание: Так я делать не рекомендую по соображениям безопасности, т.к. команды обычно логируется в history или могут быть подсмотрены. Но если очень надо создать автоматическое монтирование ftp ресурса, тогда рекомендую создать скрипт с данной командой подключения и выставить на него права 600.

Чтобы монтировать ftp от обычного пользователя, надо дописать/расcкомментировать в файле /etc/fuse.conf (если файла нет, то создать) строку


user_allow_other

и монтировать уже командой от обычного пользователя


$curlftpfs ftp.server.ru /mnt/ftp/ -o user=ftpuser:ftppassword,allow_other

Если надо примонтировать только 1 подкаталог с главного корня ftp, достаточно просто указать относительный путь этого каталога.
Например в корне ftp есть каталог temp, который нам надо примонтировать. Тогда команда монтирования будет выглядеть:


$curlftpfs ftp.server.ru/temp /mnt/ftp/ -o user=ftpuser:ftppassword,allow_other

Для монтирования ftp на уровне загрузке системы можно занести монтирование в файл /etc/fstab, подставив свои значения


curlftpfs#ftpuser:ftppass@ftp.server.ru /mnt/ftp fuse auto,user,uid=1000,allow_other 0 0

По команде


$df -h

Можно посмотреть в какую директорию смонтированы все файловые системы компьютера, в частности curlftpfs.
Из недостатков монтирования я заметил, что данная команда неправильно показывает занятое/свободное место на ftp.

Для отмонтирования ftp нужно выполнить


$sudo umount /mnt/ftp
Запись опубликована в рубрике FTP, Настройка ОС с метками , . Добавьте в закладки постоянную ссылку.

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

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