Это старая версия документа.


В данной статье рассмотрены основы применения утилиты «davfs2» (см. davfs2) для монтирования сетевых облачных хранилищ (дисков) по протоколу «WebDAV» (см. WebDAV) в среде ОС «Ubuntu».

Облачные хранилища (диски) находят все большее практическое применение. В то время, как многие поставщики подобных услуг предлагают свое программное обеспечение для доступа к своим сетевых ресурсам, существует широко распространенный протокол, для передачи информацию между удаленным облачным хранилищем и локальной ЭВМ пользователя – «WebDAV» (см. WebDAV). Применение такого протокола также требует специализированного программного обеспечения, однако, оно, зачастую, легко доступно.

В ОС «Ubuntu» имеется поддержка монтирования сетевых облачных хранилищ (дисков) с применением графического интерфейса программы-файлового-менеджера «Nautilus», который использует утилиту «GVFS» (см. GVFS). Однако, такой подход имеет ряд недостатков:

  • Примонтированный облачный диск доступен только для программ использующих графическую оболочку Gnome/Unity.
  • Присутствует доля отказов данного функционала (см. can't connect to webdav shares).

Альтернативой использованию пакета «GVFS» является утилита поставляемая в пакете «davfs2» (см. davfs2). Эта утилита показывает большую отказоустойчивость и позволяет монтировать облачный диск подобно монтированию обычного носителя данных – в постоянную локацию, что делает такой диск доступный для любой программы имеющей доступ к ФС ОС. В свою очередь, такой метод тоже имеет свой недостаток – сложность настройки.

Установка

Ввиду того, что утилита «davfs2» из одноименного пакета не входит в базовую комплектацию ОС «Ubuntu», следует провести предварительную установку данного пакета. Выполнить это можно, например, командой в терминале

sudo apt-get install davfs2

Настройка

По завершении установки следует выполнить переконфигурирование пакета, например, командой

sudo dpkg-reconfigure davfs2

выбрав пункт «Да», для разрешения монтирования облачных хранилищ непривилегированным пользователям ОС. Заместо этого можно просто выполнить команду

sudo chmod 4755 /usr/sbin/mount.davfs

Также, для удобного монтирования, без необходимости ввода пароля корневого пользователя (root), необходимо добавить пользователя в группу «davfs2» (FIXME - это точно для этого?). Например, если планируется добавить данного пользователя, следует выполнить команду.

sudo usermod -aG davfs2 $USER

Если необходимо добавить другого пользователя ОС, то «$USER» следует заменить на имя пользователя в ОС, которому будет дозволено монтировать облачные диски посредством «davfs2».

Создание точки монтирования

Монтирование возможно только в существующую папку, создать которую можно, например, командой

mkdir $PathToMountPoint

или

sudo mkdir $PathToMountPoint

если для создания папки требуются административные привилегии. Где «$PathToMountPoint» следует заменить допустимым именем в ФС ОС «Ubuntu». Например, «$PathToMountPoint» может принимать следующие значения

  • «$HOME/CloudDisk» – точка монтирования размещена в домашней папке пользователя и под-папке «CloudDisk».
  • «/media/CloudDisk» – точка монтирования размещена в системной папке «/media» и под-папке «CloudDisk». Для создания требуются административные привилегии.

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

Настройка монтирования

fstab

Сопоставление адреса облачного диска и точки его монтирования производится за счет информации в файле «/etc/fstab» (см. fstab, fstab). В этот файл следует внести информацию о параметрах монтирования для каждого облачного диска. Для редактирования этого файла можно выполнить команду (требуются административные привилегии)

sudo gedit /etc/fstab

Файл «/etc/fstab» следует дополнить строкой (дописать в самом конце)

$WebDAV_Address $PathToMountPoint davfs user,rw,noauto 0 0

где «$WebDAV_Address» надо обязательно заменить на веб-адрес поставщика услуги сетевого облачного диска, а «$PathToMountPoint» обязательно заменить на абсолютный путь к точке монтирования (без переменных среды, начинающихся с символа «$», путь должен начинаться с символа «/»). Например, для распространенных поставщиков облачных дисков (и соответственно подобранного названия точки монтирования) эта строка описана ниже.

https://webdav.yandex.ru:443 /media/Yandex davfs user,rw,noauto 0 0

подробнее о подключении к Яндекс.Диск через WebDav можно почитать в этой статье.

https://webdav.4shared.com/ /media/4shared davfs user,rw,noauto 0 0
  • «OwnCube». Строка в «/etc/fstab» может иметь вид
https://owncube.com/files/webdav.php /media/OwnCube davfs user,rw,noauto 0 0
https://dav.idrivesync.com/ /media/IDriveSync davfs user,rw,noauto 0 0
При ручном наборе этих строк обратите внимание, на то, что многие поставщики облачных дисков используют протокол HTTPS вместо HTTP. Опция noauto обязательна, так как в противном случае система будет пытаться подключить диск до поднятия сетевого интерфейса.

Автоматическое монтирование

Опция noauto не позволяет диску примонтироваться автоматически при старте системы. Для автоматического монтирования необходимо создать подобный скрипт

#!/bin/bash
sleep 120 && mount https://webdav.yandex.ru

и добавить его в автозагрузку.

Настройка учетных данных

Для того, что бы не было необходимости вводить пароль при каждом монтировании, следует сообщить имя пользователя удаленного облачного диска и его пароль утилите «davfs2». Для этого необходимо редактировать файл «/etc/davfs2/secrets» или «$HOME/.davfs2/secrets».

Эти файлы содержат секретную информацию (пароль пользователя для доступа к удаленному облачному диску), следует позаботится о их сохранности и защищенности

Файл «/etc/davfs2/secrets» является системным, доступ на чтение к нему имеет только корневой пользователь «root», поэтому хранение пароля в нём более безопасно. Файл «$HOME/.davfs2/secrets» после установки пакета «davfs2» не существует. Его следует создать, например, выполнив команды

mkdir $HOME/.davfs2
touch $HOME/.davfs2/secrets

Если файл уже существовал, то выполнение этих команд не навредит его содержимому. Далее рассматривается указание аутентификационной информации пользователя облачного диска в файле «$HOME/.davfs2/secrets».

Открыв этот файл для редактирования, например, командой

xdg-open $HOME/.davfs2/secrets

необходимо ввести строку

$WebDAV_Address $USER $PASSWORD

где параметр «$WebDAV_Address» аналогичен описанному в файле «/etc/fstab», а «$USER» и «$PASSWORD» данные аутентификации пользователя у поставщика сервиса облачного диска.

Ввиду наличия секретной информации в этом файле, обязательно следует запретить другим пользователям системы производить его чтение, например, командой

chmod 600 $HOME/.davfs2/secrets

Проверка монтирования

После завершения данных манипуляций целесообразно проверить монтирование, выполнив команду «mount»

mount $PathToMountPoint

где «$PathToMountPoint» точка монтирования облачного диска описанная в «/etc/fstab».

Отмонтировать такой диск можно командой «umount»

 umount $PathToMountPoint

Резервное копирование

Бекап с помощью Déjà Dup

Особенность программы Déjà Dup заключается в том, что она поддерживает работу по webdav. Минусы данного способа резервного копирования - файлы на сервере невозможно прочесть без данной программы и копировать можно только каталоги своего пользователя Для работы необходимо:

  • настроить папки для резервного копирования (при необходимости указать папки-исключения);

  • настроить расписание автоматического резервного копирования (если необходимо);

  • указать носитель

    Местоположение резервной копии: WebDav

    Сервер: webdav.yandex.ru

    Использовать защищенное соединение (HTTPS)

    Порт: 443

    Папка: указать папку на Яндекс.Диск (например: /backup)

    Имя пользователя: Имя пользователя Яндекс.Диск без @yandex.ru

  • для запуска необходимо нажать «Создать резервную копию»

Ссылки

  • О «davfs2» на Wikipedia (англ.) davfs2
  • О протоколе «WebDAV» на Wikipedia WebDAV
  • О проекте «GVFS» на Wikipedia (англ.) GVFS
  • Отчет о программном сбое утилиты «GVFS» can't connect to webdav shares
  • Описание файла «/etc/fstab» на данном ресурсе fstab и на Wikipedia fstab
  • Инструкция по подключению к облачному хранилищу «Яндекс Диск» по «WebDAV» Работа через WebDAV
  • Инструкция по подключению к облачному хранилищу «4shared» по «WebDAV» What is WebDav and how to use it
  • Инструкция по подключению к облачному хранилищу «IDriveSync» по «WebDAV» IDriveSync join hands with WebDAV