Ubuntu curlftpfs монтирование папки FTP

Установка настройка curlftpfs

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

dpkg -l | grep curlftpfs

если установлен увидем

ii  curlftpfs  0.9.2-5  amd64   filesystem to access FTP hosts based on FUSE and cURL

Устанавливаем curlftpfs

если необходимо
sudo apt-get install curlftpfs

Создадим папку для монтирования

с название ftp в домашнем каталоге NameUser, в которую будем монтировать каталог ftp сервера, и назваем ее ftpforbackup так как позже в нее мы будем сохранять бекапы

cd /home/NameUser && mkdir ftpforbackup

Добавим пользователя NameUser в группу fuse

Чтобы не делать все операции от суперпользователя 

adduser NameUser fuse

Выставляем права на целевой каталог

chgrp fuse /home/NameUser/ftpforbackup
chmod g+w /home/NameUser/ftpforbackup

Смонтируем каталог ftp сервера в созданную нами папку ftp

от имени пользователя NameUser

curlftpfs ftp://ftpaddress.com /home/NameUser/ftpforbackup -o user=ftplogin:ftppassword,modules=iconv,from_code=CP1251,to_code=UTF8
-o user=ftplogin:ftppassword - логин пароль для доступа к ftp

modules=iconv,from_code=CP1251,to_code=UTF8 указываем кодировку с помощью модуля iconv
allow_other - позволит любому пользователю создавать и удалять файлы из /mnt/ftp от имени root'a!
default_permissions - учитывались права ФС.
-s - отключение многопоточных операций

Вот так, как написано ниже ни когда НЕ монтируйте указывая логин и пароль сразу в адресе (так как при выводе команд dfmount имя устройства будет содержать логин и пароль, который сможет увидеть любой пользователь выполнив выше перечисленные команды):

curlftpfs ftp://ftplogin:ftppassword@ftpaddres.com /home/NameUser/ftpforbackup

Отмонтирование ftp ресурса

правильно производится командой (от имени текущего пользователя)

fusermount -u /home/NameUser/ftp

... или не правильное отмонтирование от имени суперпользователя

sudo umount /home/NameUser/ftp

Автомонтирование при загрузке

Для автомонтирования ресурса при каждом запуске, добавим следующую строчку в файл /etc/rc.local

nano /etc/rc.local
sudo -u NameUser curlftpfs [параметры_подключения]

Вынесем пароль из текста команды в отдельный файл

для этого создадим скрытый файл .netrc, в домашней директории пользователя NameUser, от имени которого будет запускаться curlftpfs, и запишем в него параметры ftp к которому будем подключаться

machine ftpaddress.com
login ftplogin
password ftppassword

и выставим на него права

echo machine ftpaddress.com login ftplogin password ftppasseord > /home/NameUser/.netrc && chmod 0600 /home/NameUser/.netrc

 

Таксаномия: 

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