Это старая версия документа.
Содержание
В данной статье рассмотрены основы применения утилиты «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» ( - это точно для этого?). Например, если планируется добавить данного пользователя, следует выполнить команду.
sudo usermod -aG davfs2 $USER
Если необходимо добавить другого пользователя ОС, то «$USER» следует заменить на имя пользователя в ОС, которому будет дозволено монтировать облачные диски посредством «davfs2».
Создание точки монтирования
Монтирование возможно только в существующую папку, создать которую можно, например, командой
mkdir $PathToMountPoint
или
sudo mkdir $PathToMountPoint
если для создания папки требуются административные привилегии. Где «$PathToMountPoint» следует заменить допустимым именем в ФС ОС «Ubuntu». Например, «$PathToMountPoint» может принимать следующие значения
- «$HOME/CloudDisk» – точка монтирования размещена в домашней папке пользователя и под-папке «CloudDisk».
- «/media/CloudDisk» – точка монтирования размещена в системной папке «/media» и под-папке «CloudDisk». Для создания требуются административные привилегии. Рекомендуется создавать точку монтирования в папке «/media», потому что при этом облачное хранилище будет доступно к монтированию\размонтированию через Nautilus.
Во избежание конфликтов, такую папку (естественно с другим именем) следует создавать для каждого удаленного облачного диска, который планируется использовать.
Настройка учетных данных
Для того, что бы не было необходимости вводить пароль при каждом монтировании, следует сообщить имя пользователя удаленного облачного диска и его пароль утилите «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
Настройка монтирования
fstab
Сопоставление адреса облачного диска и точки его монтирования производится за счет информации в файле «/etc/fstab» (см. fstab, fstab). В этот файл следует внести информацию о параметрах монтирования для каждого облачного диска. Для редактирования этого файла можно выполнить команду (требуются административные привилегии)
sudo gedit /etc/fstab
Файл «/etc/fstab» следует дополнить строкой (дописать в самом конце)
$WebDAV_Address $PathToMountPoint davfs user,rw,noauto 0 0
где «$WebDAV_Address» надо обязательно заменить на веб-адрес поставщика услуги сетевого облачного диска, а «$PathToMountPoint» обязательно заменить на абсолютный путь к точке монтирования (без переменных среды, начинающихся с символа «$», путь должен начинаться с символа «/»). Например, для распространенных поставщиков облачных дисков (и соответственно подобранного названия точки монтирования) эта строка описана ниже.
- «Яндекс Диск» (см. Работа через WebDAV). Строка в «/etc/fstab» может иметь вид
https://webdav.yandex.ru:443 /media/Yandex davfs user,rw,noauto 0 0
подробнее о подключении к Яндекс.Диск через WebDav можно почитать в этой статье.
- «4shared» (см. What is WebDav and how to use it ). Строка в «/etc/fstab» может иметь вид
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
- «IDriveSync» (см. IDriveSync join hands with WebDAV). Строка в «/etc/fstab» может иметь вид
https://dav.idrivesync.com/ /media/IDriveSync davfs user,rw,noauto 0 0
Проверка монтирования
После завершения данных манипуляций целесообразно проверить монтирование, выполнив команду «mount»
mount $PathToMountPoint
где «$PathToMountPoint» точка монтирования облачного диска описанная в «/etc/fstab».
Отмонтировать такой диск можно командой «umount»
umount $PathToMountPoint
Монтирование через Nautilus
Если вы создали точку монтирования в папке «/media», то на левой панели файлового менеджера Nautilus будет доступна кнопка, по нажатию на которой будет происходить монтирование\размонтирование, как с обычной флешкой.
Автоматическое монтирование
Опция noauto
не позволяет диску примонтироваться автоматически при старте системы. Для автоматического монтирования необходимо создать подобный скрипт
#!/bin/bash sleep 120 && mount https://webdav.yandex.ru
и добавить его в автозагрузку.
Резервное копирование
Бекап с помощью Déjà Dup
Особенность программы Déjà Dup заключается в том, что она поддерживает работу по webdav. Минусы данного способа резервного копирования - файлы на сервере невозможно прочесть без данной программы и копировать можно только каталоги своего пользователя Для работы необходимо:
настроить папки для резервного копирования (при необходимости указать папки-исключения);
настроить расписание автоматического резервного копирования (если необходимо);
указать носитель
Местоположение резервной копии: WebDav
Сервер: webdav.yandex.ru
Использовать защищенное соединение (HTTPS)
Порт: 443
Папка: указать папку на Яндекс.Диск (например: /backup)
Имя пользователя: Имя пользователя Яндекс.Диск без @yandex.ru
для запуска необходимо нажать «Создать резервную копию»
Бэкап с помощью rsync(терминал)
Способ, использующий для резервного копирования программу rsync
позволяет сделать копию любого файла на вашем компьютере, в том числе файлов настроек и системных файлов. Для настройки необходимо:
Создать скрипт, выполняющий резервное копирование. Файл в любом удобном для вас месте1) со следующим содержимым:
#!/bin/bash mount -t davfs https://webdav.yandex.ru notify-send "Запущено резервное копирование, дождитесь сообщения о завершении" -i deja-dup rsync -qralo --delete-before --exclude-from=/home/<имя_пользователя>/bin/backup.conf / /media/Яндекс.Диск/backup umount https://webdav.yandex.ru notify-send "Резервное копирование окончено" -i deja-dup
данный скрипт использует файл ~/backup.conf добавляя в исключения все записанные в нем каталоги. Файл ~/bin/backup.conf должен иметь вид:
/media /dev /mnt /tmp /proc /sys /var/backups /var/cache /usr/src /home/"user_name1"/Загрузки /home/"user_name1"/Видео /home/"user_name2"/Музыка
Добавить созданный скрипт на ежемесячное выполнение в cron от пользователя root
sudo ln -s ~/bin/backup.sh /etc/cron.monthly/backup.sh
Шифрование
Ссылки
- О «davfs2» на Wikipedia (англ.) davfs2
- О протоколе «WebDAV» на Wikipedia WebDAV
- О проекте «GVFS» на Wikipedia (англ.) GVFS
- Отчет о программном сбое утилиты «GVFS» can't connect to webdav shares
- Инструкция по подключению к облачному хранилищу «4shared» по «WebDAV» What is WebDav and how to use it
- Инструкция по подключению к облачному хранилищу «IDriveSync» по «WebDAV» IDriveSync join hands with WebDAV
- forum.ubuntu.ru– Обсуждение статьи на форуме
- Яндекс.Диск– страница проекта
- Бекап на Яндекс.Диск с Déjà Dup– источник