Вступление
Облачные технологии находят все большее практическое применение. В то время, как многие поставщики подобных услуг предлагают свое программное обеспечение для доступа к своим сетевым ресурсам, существует широко распространенный протокол, для передачи информацию между удаленным облачным хранилищем и локальной ПК пользователя – «WebDAV».
Для подключения облачного диска можно пойти двумя путями:
- Подключить диск с помощью файлового менеджера, но такой способ имеет ряд недостатков.
- Примонтированный облачный диск доступен только для программ использующих графическую оболочку.
- Присутствует доля отказов данного функционала (см. can’t connect to webdav shares).
- Подключить облачный диск с помощью бесплатного специализированного программного обеспечения davfs
Эта утилита позволяет монтировать облачный диск, как обычный локальный диск HDD – делая такой диск доступный для любой программы имеющей доступ к файловой системе. В свою очередь, такой метод тоже имеет свой недостатки:
- Сложность настройки.
- Файловые менеджеры считают папки примонтированные с помощью davfs локальными и будут пытаться получить информацию и сгенерировать эскизы для медиа-файлов, что требует скачивания этих файлов. А это требует времени в течении которого файловый менеджер будет недоступен, а интернет-соединение загружено передачей данных.
Сегодня в статье рассмотрим пример подключения облачного хранилища Cloud.mail.ru при помощи протокола WebDAV с помощью специализированного программного обеспечения davfs.
Установка davfs в Linux
Устанавливать davfs будем на дистрибутиве Ubuntu Server 18.04. Для этого подключимся к нашей системе по SSH. И в терминале набираем следующую команду:
sudo apt install davfs2
При установки программа задаст вопрос. Выберите пункт «Да»
, для разрешения монтирования облачных хранилищ непривилегированным пользователям ОС. Также можно просто выполнить команду
sudo chmod 4755 /usr/sbin/mount.davfs
либо выполнить
sudo dpkg-reconfigure davfs2
Настройка davfs в Linux
Для удобства также, необходимо добавить вашего пользователя в группу davfs2. Если планируется добавить данного пользователя, следует выполнить команду.
sudo usermod -aG davfs2 $USER
Если необходимо добавить другого пользователя ОС, то $USER
следует заменить на имя пользователя, которому будет дозволено монтировать облачные диски посредством davfs.
Создание точки монтирования
Монтирование возможно только в существующую папку, создать которую можно, например, командой:
sudo mkdir ~/CoudDisk
Во избежание конфликтов, такую папку (естественно с другим именем) следует создавать для каждого удаленного облачного диска, который планируется использовать.
Настройка учетных данных
Для того, чтобы не было необходимости вводить пароль при каждом монтировании, следует сообщить имя пользователя удаленного облачного диска и пароль утилите 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
.
Открыв этот файл для редактирования, например, командой
nano $HOME/.davfs2/secrets
необходимо ввести строку
/home/ваш_user/CloudDisk user@mail.ru пароль
Можно указывать адрес облачного диска, а не путь монтирования
https://example.com/webdav.php MyName 12345
Имеются проблемы с символами $^#&
и пробелами в паролях. Для устранения данной проблемы следует использовать скобки » «. Например пароль qwe # rty
можно записать так:
"qwe # rty"
Ввиду наличия секретной информации в этом файле, обязательно следует запретить другим пользователям системы производить его чтение, например, командой
chmod 600 $HOME/.davfs2/secrets
Настройка монтирования
Для подключения Cloud.mail.ru к нашей системе необходимо установить и настроить DotNetCore. Как это сделать описано в данной статье.
fstab
Для автоматического монтирования ваших облачных дисков необходимо отредактировать файл /etc/fstab
. Открываем и вносим изменения
sudo nano /etc/fstab
дописать в самом конце
//127.0.0.1:8888 /home/ваш_user/CloudDisk davfs user,rw,noauto 0 0
или
//127.0.0.1:8888 /home/ваш_user/CloudDisk davfs user,rw,_netdev 0 0
где
- //127.0.0.1:8888 — адрес нашего облачного хранилища и порт (данный адрес актуален если вы настраиваете облако от mail.ru)
- noauto — указывает, что монтирование производится вручную, в то время как альтернативная ей опция «_netdev»
- _netdev — монтирование будет произведено автоматически при наличии подключенного сетевого интерфейса.
Наличие опции noauto или _netdev обязательно, в противном случае считается, что указана опция auto и система будет пытаться подключить сетевой диск до поднятия самого сетевого интерфейса.
Проверка монтирования
После завершения данных манипуляций целесообразно проверить монтирование, выполнив команду mount
sudo mount -a
Размонтировать такой диск можно командой umount
umount /home/ваш_user/CloudDisk
Примеры использования davfs в fstab
Вот ещё примеры строк в fstab для некоторых облачных провайдеров:
- Яндекс Диск (см. Работа через WebDAV). Строка в «/etc/fstab» может иметь вид:
https://webdav.yandex.ru:443 /media/Yandex davfs user,rw,noauto 0 0
В этом примере явно указан порт для подключения. Это не обязательно, если поставщик облачного диска использует стандартные порты: 80 для HTTP и 443 для HTTPS.
- 4shared (см. What is WebDav and how to use it ). Строка в «/etc/fstab» может иметь вид:
https://webdav.4shared.com/ /media/4shared 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
- ownCloud — (см. ownCloud, OwnCloud). Здесь есть особенность, т.к. сервис «ownCloud» может работать на вашем сервере, тогда адрес необходимо прописывать следующим образом:
http://ваш_сервер.ru/owncloud/files/webdav.php davfs user,rw,noauto 0 0
если вы пользуетесь общим сервером «ownCloud», то строка в «/etc/fstab» примет вид:
http://getfreecloud.com/files/webdav.php /media/ownСloud davfs user,rw,noauto 0 0
- OwnCube. Строка в «/etc/fstab» может иметь вид:
https://owncube.com/files/webdav.php /media/OwnCube davfs user,rw,noauto 0 0
При ручном наборе этих строк обратите внимание, на то, что многие поставщики облачных дисков используют протокол HTTPS вместо HTTP.
[endtxt]