====== Монтирование файловой системы FTP в linux ====== Источник: http://ruunix.ru/1773-montirovanie-fajlovoj-sistemy-ftp-v-linux.html {{:linux:curlftpfs.png |}} Иногда нужно, чтобы FTP аккаунт был всегда под рукой, а вернее отдельным каталогом вашей файловой системы. В linux это делается с помощью пакета **curlftpfs**, при этом в ядре должна быть включена поддержка [[http://ruunix.ru/out.php?http://ru.wikipedia.org/wiki/Filesystem_in_Userspace|FUSE]] (во всех современных ядрах она есть, если вы только не пересобирали ядро сами :) ) На официальный сайте проекта [[http://ruunix.ru/out.php?http://curlftpfs.sourceforge.net/|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 ---- См. также: * http://handynotes.ru/2008/09/curlftpfs-server-ftp.html * http://www.it-simple.ru/?p=2785 * http://wiki.enchtex.info/tools/console/curlftpfs