Как работать с Yandex-диском в Ubuntu

Posted by

В данной заметке я наглядно продемонстрирую как начать работать с ’ом в системе .4 Server amd64. Частенько мне нужно сделать бекап во вне, а Yandex-диск это персональное облако с размером в 10Gb такого объема мне слихвой хватает во всяком случаем пока.

Что мне понадобиться:

  • Почтовый аккаунт на yandex.ru, его аутентификационные данные используеются для получения доступа к облачному диску
  • Система Ubuntu 12.04.4 Server amd64 со всеми последними обновлениями безопасности.

Специально для этой заметке зарегистрировал почтовый ящик:

Login: blogekzorchik

Pass: 712mbddr@ — после опубликования заметке, пароль конечно же сменю.

blogekzorchik@yandex.ru

Достоинства Яндекс Диска:

  • до 10 Gb для хранения ваших файлов.
  • Протокол WebDAV (Для пользования сервисом наличие специального клиента от Яндекса или DropBox не обязательно).
  • Удобная веб-панель управления (прямо в почте Яндекса).
  • Высокая скорость загрузки файлов.
  • Файл может быть личным или же доступным другим (можно использовать для обмена файлами).

Подключаюсь к системе Ubuntu 12.04.4 Server amd64 по SSH на которой буду настраивать возможность работать с облачным диском:

keiz@dv6:~$ ssh -l ekzorchik 192.168.1.39 -p 22

Вывожу для себя информацию по системе:

ekzorchik@server2:~$ uname -a && lsb_release -a

Linux server2 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 12.04.4 LTS

Release: 12.04

Codename: precise

 

В качестве первого шага рассмотрю подключение к удаленной файловой системе Yandex disk’а по протоколу WebDAV посредством пакета davfs2:

ekzorchik@server2:~$ sudo apt-get install davfs2 -y

Теперь у менять есть возможность монтировать диск руками:

ekzorchik@server2:~$ sudo -o uid=ekzorchik,gid=ekzorchik https://webdav.yandex.ru /media/yandexdisk/

Please enter the username to authenticate with server

https://webdav.yandex.ru or hit enter for none.

Username: blogekzorchik

Please enter the password to authenticate user blogekzorchik with server

https://webdav.yandex.ru or hit enter for none.

Password:712mbddr@

<здесь_указываем_пароль_от_почтового_ящика_с_логином_blogekzorchik>

Если после ввода пароля никаких уведомляющий сообщения консоль не вывела, то все прошло хорошо, проверяем, что система успешно подключила Yandex’диск к созданной точки монтирования:

ekzorchik@server2:~$ df -h | grep yandexdisk

https://webdav.yandex.ru 10G 83M 10G 1% /media/yandexdisk

Смотрим какие файлы уже имеются по-умолчанию:

ekzorchik@server2:~$ ls -l /media/yandexdisk/

total 43816

drwx—— 2 ekzorchik ekzorchik 0 May 2 23:00 lost+found

-rw-r—r— 1 ekzorchik ekzorchik 2806247 May 5 2014 Горы.jpg

-rw-r—r— 1 ekzorchik ekzorchik 2031252 May 5 2014 Зима.jpg

-rw-r—r— 1 ekzorchik ekzorchik 2382667 May 5 2014 Мишки.jpg

-rw-r—r— 1 ekzorchik ekzorchik 1675319 May 5 2014 Море.jpg

-rw-r—r— 1 ekzorchik ekzorchik 2146309 May 5 2014 Москва.jpg

drwxr-xr-x 2 ekzorchik ekzorchik 0 May 5 2014 Музыка

-rw-r—r— 1 ekzorchik ekzorchik 2823162 May 5 2014 Санкт-Петербург.jpg

-rw-r—r— 1 ekzorchik ekzorchik 31000079 May 5 2014 Хлебные крошки.mp4

все тоже самое что и посредством просмотра через браузер в личном кабинете

Персональное облако Yandex диск

Отлично, работает. Но не удобно же, каждый раз вводить пароль от учетной записи чтобы получить доступ к своему онлайн диску, поэтому доработаем подключение внеся правила монтирования в /etc/fstab:

ekzorchik@server2:~$ sudo vi /etc/fstab

https://webdav.yandex.ru /media/yandexdisk davfs gid=ekzorchik,uid=ekzorchik,noauto 0 0

Сохраним внесенные изменения.

Теперь размонтируем онлайн каталог, т.к. у нас выше он был смонтирован:

ekzorchik@server2:~$ sudo umount /media/yandexdisk/

/sbin/umount.davfs: waiting while mount.davfs (pid 1601) synchronizes the cache .. OK

Теперь же можно смонтировать его без использования возможностей команды sudo от имени учётной записи пользователя ekzorchik:

ekzorchik@server2:~$ mount /media/yandexdisk

mount: only root can mount https://webdav.yandex.ru on /media/yandexdisk

вот незадача, но внимательное чтение мануала подсказало, что в файл fstab в строку монтирования нужно добавить после noauto через запятую следующие параметры: — ,user,exec 0 0 и после этого монтировать удаленный ресурс может и пользователь:

ekzorchik@server2:~$ mount /media/yandexdisk

/sbin/mount.davfs: program is not setuid root

Заносим своего пользователя в группу davfs2:
ekzorchik@server2:~$ sudo usermod -a -G davfs2 ekzorchik

Даём возможность запускать mount.davfs пользователю:
ekzorchik@server2:~$ sudo chmod 4755 /sbin/mount.davfs

ekzorchik@server2:~$ mount /media/yandexdisk

Please enter the username to authenticate with server

https://webdav.yandex.ru or hit enter for none.

Username: blogekzorchik

Please enter the password to authenticate user blogekzorchik with server

https://webdav.yandex.ru or hit enter for none.

Password:

ekzorchik@server2:~$ df -h | grep yandexdisk

https://webdav.yandex.ru 10G 83M 10G 1% /media/yandexdisk

Размонтировываем смонтированный каталог:

ekzorchik@server2:~$ umount /media/yandexdisk

/sbin/umount.davfs: waiting while mount.davfs (pid 2030) synchronizes the cache .. OK

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

Для автоматизации этого процесса предусмотрен файл /etc/davfs2/secrets, добавив в него строчку, как в примере ниже, вы избавитесь от предложения вводить данные учётной записи Яндекс.

ekzorchik@server2:~$ sudo vi /etc/davfs2/secrets

/media/yandexdisk blogekzorchik 712mbddr@

Сохраняем внесенные изменения.

 

Но добавляя пароль, как я показал выше, следует не забыдь проверить файловые права у файла secrets, они должны иметь следующий вид:

ekzorchik@server2:~$ ls -l /etc/davfs2/secrets

-rw——- 1 root root 2689 May 5 11:30 /etc/davfs2/secrets

 

Далее монтирую удаленный ресурс:

ekzorchik@server2:~$ mount /media/yandexdisk

/sbin/mount.davfs:/home/ekzorchik/.davfs2/davfs2.conf:24: system option in user configuration file

Комментирую строку 24 в файле ~/.davfs2/davfs2.conf:

ekzorchik@server2:~$ nano +24 ~/.davfs2/davfs2.conf

#ignore_home kernoops,distccd # system wide config file only

, но можно и не обращать внимание на данное информационное сообщение.

 

ekzorchik@server2:~$ df -h | grep yandexdisk

https://webdav.yandex.ru 10G 83M 10G 1% /media/yandexdisk

 

Монтировывание прошло успешно и уже без какого либо ввода логина и пароля.

Проверим наличие сетевого подключения:

ekzorchik@server2:~$ sudo netstat -nap | grep davfs

tcp 0 0 192.168.1.39:55709 213.180.193.53:443 ESTABLISHED 1181/mount.davfs

unix 2 [ ] DGRAM 8785 1181/mount.davfs

Отлично, заметка работоспособна и наглядно показывает как на системе с отсутствием графического интерфейса подключить персональный Yandex-диск. Такое может понадобиться если срочно нужно сделать бекап куда-то во вне, дабы уменьшить риски в случае каких либо серьезных проблем с системой. В последующих заметках я рассмотрю работу персонального Yandex’диска с программой duplicity. Вот собственно и все, с уважением ekzorchik. Следите за обновлениями практических заметок на моем блоге.

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

19 − 8 =