В данной заметке я наглядно продемонстрирую как начать работать с Yandex Disk’ом в системе Ubuntu 12.04.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 mount.davfs -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
все тоже самое что и посредством просмотра через браузер в личном кабинете
Отлично, работает. Но не удобно же, каждый раз вводить пароль от учетной записи чтобы получить доступ к своему онлайн диску, поэтому доработаем подключение внеся правила монтирования в /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. Следите за обновлениями практических заметок на моем блоге.