Монтирование удалённых FTP и Samba директорий в локальную
Продолжаю тему монтирования удалённых каталогов. В прошлый раз я писал про монтирование через sshfs, или sftp. В этот раз напишу про монтирования samba шар, и ftp. В этот раз обойдусь без предисловия, и преступим сразу к делу :) Предполагается, что у вас уже есть рабочие и настроенные ftp и smb сервера.
Монтирования samba директорий
Для монтирования я предпочитаю использовать cifs который во многих дистрибутивах уже собран в ядре.
Собственно всё монтирование умещается в одну команду:
sudo mount -t cifs //10.10.10.10/share_name /mnt/share_folder -o username=user1,password=userpass,iocharset=utf8
Теперь по порядку. С помощью -t cifs
мы указываем mount, что монтируем с помощью cifs. Далее указывается адрес samba сервера, и собственно сама samba шара. После - директория в которую монтируем шару, и указываем параметры монтирования: логин, пароль и кодировку.
Чтобы не вводить каждый раз такую длинную команду нужно можно прописать в /etc/fstab
:
//10.10.10.10/share_name /mnt/share_folder cifs username=user1,password=userpass,iocharset=utf8
Теперь после mount -a, или после перезагрузки системы, "шара" автоматически будет смонтирована в указанную директорию. Если этого не требуется, то можно добавить параметр noauto, и монтировать директорию когда это нужно:
//10.10.10.10/share_name /mnt/share_folder cifs username=user1,password=userpass,iocharset=utf8,noauto
Чтобы смонтировать директорию достаточно ввести sudo mount /mnt/share_folder
Монтирования ftp директорий
Для монтирования удалённых ftp директорий будем использовать curlftpfs:
sudo aptitude install curlftpfs
И снова чтобы смонтировать достаточно одной команды:
sudo curlftpfs -o user="username:password",allow_other ftp://ftp.site.com /mnt/curlftpfs
После -o
указываются необходимые параметры. Параметр allow_other
позволяет просматривать директорию не только супер пользователю. Параметр user отвечает за имя пользователя\пароль, и дальше указывается директория в которую монтируем.
Этот способ не лишён недостатков в вопросе безопасности. В частности, если посмотреть список процессов через ps -aux, то будет видно логин и пароль, поэтому можно немного обезопасить себя. Для этого, в домашней директории надо создать файл .netrc с примерно таким содержанием:
machine ftp.host.com
login ftpuser
password ftppassword
Параметры надо изменить на свои, и разрешить чтение и запись файла только текущему пользователю:
chmod 600 ~/.netrc
Чтобы несколько автоматизировать данный процесс, можно прописать монтирование в fstab:
curlftpfs#ftp.host.com /mnt/curlftpfs fuse allow_other,rw,uid=500,user,noauto 0 0
Только в этом случае, следует в директории рута, тоже создать файл /root/.netrc
с параметрами доступа к ftp серверу. Так же как и в предыдущем примере параметр noauto
в /etc/fstab
можно оставить, или убрать.