Перейти к основному содержанию

Подключаем Облако Mail.Ru через WebDAV в Linux

Virtual Private Cloud — VPC

Куда складывать резервные копии наших файлов? Ясное дело, в облако!

Сейчас существует множество различных сервисов, предоставляющих бесплатные и платные хранилища:

  • Яндекс Диск
  • Google Drive
  • Dropbox
  • Seafile
  • Облако Mail.ru
  • и прочие

Некоторые сервисы имеют собственные приложения, которые нужно установить, настроить, выбрать папку синхронизации. Но не всегда есть такие приложения для Linux, особенно для серверных вариантов. Смонтировал облачный диск в директорию, к примеру, /backup и пользуйся, загружай, удаляй. И это вполне можно сделать, если сервис предоставляет возможность подключения к облачному диску по протоколу WebDAV.

WebDAV (Web Distributed Authoring and Versioning) является расширением протокола HTTP/1.1. Позволяет обращаться к файлам на удаленном сервере и выполнять с ними операции чтения, записи, копирования, удаления и т.д.

Сегодня подключим облачный диск из Облака Mail.Ru в качестве директории /backup с помощью davfs2 в Ubuntu 22.04. Удобная штука, особенно если требуется автоматизировать резервное копирование документов в облако.

Установка и настройка davfs2

Устанавливаем пакет davfs2:

apt install davfs2

linux

Сразу после установки пакет попробует настроиться. Настройку можно изменить позже, запустив команду "dpkg-reconfigure davfs2".

linux

В данном случае нам нужно определиться, под каким именно пользователем мы будем монтировать облачный диск. Если пользователь непривилегированный, то нужно включить соответствующую опцию. У меня простой случай, я всё монтирование буду осуществлять от пользователя root, поэтому отвечаю No.

linux

Для монтирования облачного диска из Облака Mail.Ru требуется отключить использование метода LOCK. Для этого выставим опцию use_locks в 0 в конфигурационном файле /etc/davfs2/davfs2.conf.

linux

Генерируем пароль приложения

Для того, чтобы подключиться к облаку через WebDAV, нужно сгенерировать специальный пароль. По сути, мы будем неким сторонним приложением, которому нужно дойти в облако. Логинимся в браузере в свой ящик mail.ru и переходим на страницу:

https://account.mail.ru/user/2-step-auth/passwords/

win

Добавить.

win

Придумываем название для приложения. Продолжить.

win

Пишем пароль от ящика, ставим галку, что мы не верблюд. Продолжить.

win

Пароль сгенерирован, копируем его, он нам пригодится. Пароль выглядит как-то так: FKh63KgDL4JgDLWJjdJ2.

win

Таких паролей можно сгенерировать сколько угодно, и удалить потом, когда надобность в них отпадёт.

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

Созданный пароль нам нужно где-то сохранить. Сделать это нужно для того, чтобы не вводить пароль вручную при каждом монтировании и не палить его в скриптах. Сохранять будем в файле /etc/davfs2/secrets. Этот файл является системным, доступ на чтение к нему имеет только пользователь root, что меня полностью устраивает.

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

chmod 600 $HOME/.davfs2/secrets

Данные сохраняем в формате:

$PathToMountPoint $USER $PASSWORD

Например:

https://webdav.cloud.mail.ru:443/Backup/cloud example@mail.ru FKh63KgDL4JgDLWJjdJ2

Если в пароле есть пробелы или символы $^#&, то пароль нужно взять в двойные кавычки "My WEBDAV pa $$ word".

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

Придумываем куда будем монтировать облачную папку и создаём соответствующую директорию, например, /backup.

linux

Редактируем /etc/fstab, добавляем строку:

https://webdav.cloud.mail.ru:443/Backup/cloud /backup davfs user,rw,noauto 0 0

В данном случае я использую опцию noauto, чтобы папка не монтировалась при загрузке. Монтировать я её буду скриптом. Если вам требуется автоматическое подключение, то используйте _netdev, поскольку для монтирования облачной папки требуется сетевое подключение.

linux

Монтируем

Вроде всё настроили проверим. Монтируем директорию:

mount /backup

Ошибок нет. Перейдём в неё и создадим файл:

cd /backup
touch 123.txt

linux

Проверяем облако.

linux

Файл появился в облачной папке.

Выходим из папки и демонтируем:

cd /
umount /backup

linux

Всё работает, минимальная конфигурация для работы с облачным диском из Облака Mail.Ru в Ubuntu 22.04 подготовлена.

Дополнительно

Монтирование с ручным вводом пароля:

mount.davfs -o username=example@mail.ru https://webdav.cloud.mail.ru/Backup/cloud /backup

Яндекс Диск:

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

4shared:

https://webdav.4shared.com/ /media/4shared davfs user,rw,noauto 0 0

IDriveSync:

https://dav.idrivesync.com/ /media/IDriveSync davfs user,rw,noauto 0 0

OwnCloud:

http://owncloud.example.com/owncloud/files/webdav.php davfs user,rw,noauto 0 0
httpы://example.com/files/webdav.php /media/ownСloud davfs user,rw,noauto 0 0

OwnCube:

https://owncube.com/files/webdav.php /media/OwnCube davfs user,rw,noauto 0 0

Ссылки

https://help.mail.ru/cloud_web/app/webdav/

Примечание

davfs2 формирует кэш, который может разрастаться.

/var/cache/davfs2/

Я его вручную  скриптом чищу после демонтирования шары. Сам он не чистится.

Теги

 

Похожие материалы

Let's Encrypt — настройка certbot в Ubuntu 22

Установим и настроим certbot для получения и обновления SSL сертификатов Let's Encrypt. Операционная система Ubuntu 22.04.4, веб-сервер Nginx. Настраивать будем на примере развёрнутого SeaFile.

Теги

Drupal 9 — установка на Nginx в Ubuntu 22

Сегодня мы с вами установим Drupal 9 на веб-сервер Nginx на сервере с операционной системой Ubuntu Server 22.04. Drupal 10 устанавливается аналогично, но сегодня мне нужна именно девятая версия. Погнали.

Теги