Подключаем Яндекс.Диск при помощи davfs2 & WEBDAV на UBUNTU 18.04 LTS сервере

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

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

mkdir$PathToMountPoint

или

sudomkdir$PathToMountPoint

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

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

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

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

fstab

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

sudo gedit /etc/fstab

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

$WebDAV_Address $PathToMountPoint davfs user,rw,noauto 

или

$WebDAV_Address $PathToMountPoint davfs user,rw,_netdev 

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

Наличие опции noauto или _netdev обязательно, в противном случае считается, что указана опция auto и система будет пытаться подключить сетевой диск до поднятия самого сетевого интерфейса

Например, для распространенных поставщиков облачных дисков (и соответственно подобранного названия точки монтирования) эта строка описана ниже.

  • «Яндекс Диск» (см. Работа через WebDAV). Строка в «/etc/fstab» может иметь вид
    https://webdav.yandex.ru:443/media/Yandex davfs user,rw,noauto 

    В этом примере явно указан порт для подключения. Это не обязательно, если поставщик облачного диска использует стандартные порты: 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 
  • «IDriveSync» (см. IDriveSync join hands with WebDAV). Строка в «/etc/fstab» может иметь вид
    https://dav.idrivesync.com//media/IDriveSync davfs user,rw,noauto 

Облачные диски на основе «ownCloud» (см. ownCloud, OwnCloud). Здесь есть особенность, т.к. сервис «ownCloud» может работать на вашем сервере, тогда адрес необходимо прописывать следующим образом

http://ваш_сервер.ru/owncloud/files/webdav.php

если вы пользуетесь общим сервером «ownCloud», то строка в «/etc/fstab» примет вид:

http://getfreecloud.com/files/webdav.php /media/ownСloud davfs user,rw,noauto 

Еще один поставщик облачного диска, работающего на основе «ownCloud», это «OwnCube». Строка в «/etc/fstab» может иметь вид

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

</pre></pre>При ручном наборе этих строк обратите внимание, на то, что многие поставщики облачных дисков используют протокол HTTPS вместо HTTP.

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

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

mount$PathToMountPoint

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

mount$WebDAV_Address

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

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

umount$PathToMountPoint

или

umount$WebDAV_Address

Подклюаем Яндекс.Диск как файловую систему

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

sudo apt install -y davfs2

После чего у нас выскакивает вопрос вида

Должны ли непривилегированные пользователи иметь возможность монтировать ресурсы WebDAV?

Смело выбираем NO

Монтируем WebDAV с помощью davfs2

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

 mkdir /mnt/yandex.disk 

Примонтируем наш диск, введя логин и пароль от Яндекса:

mount -t davfs https://webdav.yandex.ru /mnt/yandex.disk/

Вводим логин и пароль. После этого переходим в папку яндекс диска и проверяем, что он работает:

cd /mnt/yandex.disk/

Проверяем список файлов и папок:

ls -l

Проверить можно ещё одним способом:

Если видим наши папки и файлы из диска, то все подключено правильно.

df -h /mnt/yandex.disk/

Вывод должен быть примерно следующим:

Filesystem                Size  Used Avail Use% Mounted on https://webdav.yandex.ru   84G   39G   46G  47% /mnt/yandex.disk

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

Для того, что бы не было необходимости вводить пароль при каждом монтировании, следует сообщить имя пользователя удаленного облачного диска и его пароль утилите «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

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

$PathToMountPoint $USER$PASSWORD

с указанием абсолютного пути точки монтирования вместо «$PathToMountPoint» (так же как указано в файле «/etc/fstab»), имени пользователя у поставщика облачного диска вместо «$USER» и его пароля вместо «$PASSWORD», например

/mnt/cloud MyName 12345

Можно указывать адрес облачного диска, а не путь монтирования

$WebDAV_Address $USER$PASSWORD

где параметр «$WebDAV_Address» аналогичен описанному в файле «/etc/fstab», например,

https://example.com/webdav.php MyName 12345

Имеются проблемы с символами $^#& и пробелами в паролях. Следует использовать Escape-символы или окружать пароль скобками » «. Например пароль «qwe # rty» можно записать как

"qwe # rty"

или

qwe # rty

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

chmod600$HOME/.davfs2/secrets

Монтирование через Nautilus

Если вы создали точку монтирования в папке «/media», то на левой панели файлового менеджера Nautilus будет доступна кнопка, по нажатию на которой будет происходить монтированиеразмонтирование, как с обычной флешкой.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий