Подключаем несколько Яндекс.Диск в Linux — полет в облака халявы

монтирование нескольких яндекс.диск под linux Тема подключения Яндекс.Диска в Linux в общем-то не нова и не сказать, чтобы она была чем-то сложна. Диск как нормально подключался в период закрытого тестирования, так нормально подключается и сейчас. Вообще приятно, что Яндекс не стал изобретать велосипед и воспользовался поддерживаемым и распространённым протоколом WebDAV для предоставления доступа к Диску.

Я подключил сервис по инвайту и успешно им пользовался, а после открытия свободного доступа вдруг подумал — нельзя ли подключить несколько Дисков? Решил проверить эту возможность, а заодно и подключить Я.Диск как внешнесетевой обменник для всех мобильных устройств (файловый менеджер ES FileExplorer для Android поддерживает в том числе и работу с Диском) — чтобы в дороге скидывать фотки с планшета, записывать журналы и книги на телефон, да мало ли для чего ещё может пригодиться сетевая флешка.

Итак, ниже небольшая инструкция по подключению нескольких Я.Дисков в Linux. Кстати, если кто-то еще не знаком с Диском или не успел его завести — регистрация по приглашению выгодна приглашённому даже больше, чем пригласившему — приглашённый получает 1 Гб места (к уже имеющимся 10 Гб) против бонуса в 0,5 Гб для пригласившего. Самое время попробовать!

Готовимся к полёту

Для начала стоит установить утилиту davfs2, если она еще не установлена: sudo aptitude install davfs2

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

sudo mkdir /media/dimio-blog
sudo chown dimio:dimio /media/dimio-blog/

Сразу добавляю пользователя в группу для работы с davfs (группа создаётся при установке davfs2):

sudo usermod -a -G davfs2 dimio

Теперь можно проверить, что всё работает — примонтируем Диск в созданную директорию:

sudo mount -t davfs -o uid=1000 https://webdav.yandex.ru /media/dimio-blog/

В процессе будут запрошены логин и пароль от почты на Яндексе — вводим данные от того ящика, который будем монтировать в указанную директорию и проверяем работоспособность Диска.

yandex.disk mount on linux

От летающей этажерки к сверхзвуку

Убедившись, что всё работает как надо, приступаем к небольшому облегчению работы с Диском. Для начала — допишем опции монтирования в конец файла fstab, чтобы не набирать каждый раз длинную команду для монтирования: sudoedit /etc/fstab

https://webdav.yandex.ru    /media/yandex.disk  davfs   gid=davfs2,uid=1000,file_mode=666,dir_mode=777,user,_netdev   0   0
https://webdav.yandex.ru    /media/dimio-blog  davfs   gid=davfs2,uid=1000,file_mode=600,dir_mode=700,user,noauto   0   0

Первый диск у меня у меня общеобменный, а второй — для бекапов, что понятно из прав доступа, выставляемых при монтировании. Опция noauto нужна, чтобы при загрузке диск не монтировался автоматически — сеть в этот момент всё равно ещё не работает. А _netdev, в свою очередь, позволяет указать системе на необходимость примонтировать диск лишь после того, как будут подняты сетевые интерфейсы.

Теперь избавимся от необходимости вводить вручную логин и пароль при монтировании Дисков — для этого необходимо добавить в конец файла /etc/davfs2/secrets следующие строки (каждая строка отвечает за свой Диск): sudoedit /etc/davfs2/secrets

/media/yandex.disk Логин_от_почты Пароль_от_почты
/media/dimio-blog dimio-blog

Логины и пароли хранятся в открытом виде и доступ к ним ограничен только правами доступа файловой системы — то есть почти никак. Поэтому для «общеобменного» диска я прописал и логин, и пароль (тем более, что без этого диск при загрузке ОС автоматически примонтирован не будет), а для «приватного» — только логин, пароль вводится вручную при монтировании.

Первый — обменный — Диск таким образом монтируется просто — достаточно выполнить команду sudo mount /media/yandex.disk или перезагрузить компьютер для проверки автомонтирования.
При монтировании второго запрашивается пароль от соответствующей учетной записи в Яндекс.Почте: sudo mount /media/dimio-blog/

[sudo] password for dimio:
Please enter the password to authenticate user dimio-blog with server
https://webdav.yandex.ru or hit enter for none.
  Password

От винта!

Теперь — пара небольших проверочек, чтобы убедиться, что всё работает: dimio@ibm $ mount

https://webdav.yandex.ru on /media/yandex.disk type davfs (rw,nosuid,noexec,nodev,_netdev,gid=122,uid=1000)
https://webdav.yandex.ru on /media/dimio-blog type davfs (rw,nosuid,noexec,nodev,_netdev,gid=122,uid=1000

Диск подключился, в подарок Яндекс даёт инструкцию, какую-то песенку в mp3 (я не проникся) и обоину для рабочего стола, символизирующую спасение попавших в сложные обстоятельства пользовательских данных Я.Диском:
Обои

И еще одна проверка — посмотрим, не врёт ли Яндекс про 10 Гб места (на втором диске я на момент проверки еще не активировал последний бонус к свободному месту): dimio@ibm $ df -h /media/yandex.disk/ /media/dimio-blog/

Файловая система         Тип   Размер Использовано  Дост Использовано% Cмонтировано в
https://webdav.yandex.ru davfs    10G         284M  9,8G            3% /media/yandex.disk
https://webdav.yandex.ru davfs   6,0G         205M  5,9G            4% /media/dimio-blog

Осталось убедиться, что обменный Диск — действительно обменный и все устройства, пользующиеся им, могут выполнять действия над файлами и директориями. Создаём тестовый файл: touch /media/yandex.disk/test. Файл создан успешно, всё в порядке: ls -lh /media/yandex.disk/test

-rw------- 1 dimio dimio 0 Сен  6 19:00 /media/yandex.disk/test

Права доступа выглядят на первый взгляд неправильно (ведь был разрешен доступ на чтение и запись для всех), но при монтировании Диска с других устройств всё работает как надо:
yandex.disk on android

Дальше — только в космос!

Скриншот с планшета кстати был залит как раз через свежеподключенный Я.Диск 🙂 В ES FileExplorer достаточно ввести логин и пароль от почты, чтобы получить доступ к диску. Отлично — всё работает, можно наслаждаться 20 гигабайтами бесплатного облачного хранилища! Интересно, можно ли сделать из Дисков виртуальный том? И собрать себе хранилище на пару терабайт, подключив его к роутеру с NAS (например при помощи cadaver)! Авторегалки почты на Яндексе станут актуальны, если это сработает 🙂

Летаем под управлением Windows

Под Windows тоже можно подключить Я.Диск через WebDAV, на сайте Яндекса есть инструкция по использованию мастера подключений, но для Windows XP существует одна хитрость. WinXP не поддерживает прямое подключение по WebDAV через hhtps, так что придтся его обмануть — например, сократив ссылку https://webdav.yandex.ru при помощи tinyurl (должно получиться что-то типа http://tinyurl/my-ya-disk).

После этого можно подключать Диск как при помощи мастера подключений, так и выполнив в консоли (Пуск -> Выполнить -> cmd) вот такую команду (будет создан новый диск Y):

net use Y: http://tinyurl.com/my-ya-disk /persistent:YES /User:ya_login ya_password


Category Рубрики: *NIX | Tag Метки: , , | Comments 16 комментариев »

16 комментариев

  1. uheep says:

    Не разделяю всеобщего воодушевления…….
    Как я свои 41ГБ на narod.ru могу впихнуть на yandex.disk, в 10 ГБ, столько друзей (за каждого 500МБ) я не наберу……………………шляпа однако…………..

  2. Вадим says:

    А мне сервис понравился больше чем ГДрайв и Дропбокс, 10 ГБ хватает, для того, чтобы использовать облако как не плохое хранилище для файлов.

    • dimio says:

      Это во-первых (не считая возможности расширения до 20 Гб), хотя есть сетевые хранилища, где и больше дают бесплатно. А во-вторых для меня актуален например еще тот момент, что провайдер мой сотрудничает с Яндексом (Яндекс.Локалка или как-то так) и скорость до сервисов Яндекса у меня близка к внутрилокальным 100 Мбитам.
      Ну и подключать Я.Диск просто как еще один физический мне удобней, чем ставить программу для синхронизации.

  3. Svetaslav says:

    А можно подключить несколько Ядисков на вин7 ??? Или это не прокатит ???

    • dimio says:

      При помощи WebDAV — не вижу, что может помешать. Будет несколько сетевых дисков подключено, а вот можно ли в Win собрать их в один виртуальный — не знаю.

  4. Svetaslav says:

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

  5. Svetaslav says:

    По webdap как сетевой ресурс. Еще один диск можно подключить только через клиент и получится 2, но не больше. Но мне не нужна синхронизация. Я диск использую только как хранилище. Отключать синхронизацию можно, но тогда после удаления файлов с компа, доступ к ним на можно получить только через браузер в аккаунте.

    • dimio says:

      В таком случае больше ничем помочь не могу — с Win7 я не сталкивался совсем.

    • igorek says:

      пропишите в файле hosts разные псевдонимы для webdav.yandex.ru и подключайтесь к псевдонимам

  6. Ivanich says:

    Здравствуйте. Отличная статья! Спасибо! А получилось ли у вас сделать: «Интересно, можно ли сделать из Дисков виртуальный том?» ? Если да то поделитесь как это организовать.

    • dimio says:

      Да, это несложно, все руки не дойдут заметку написать )
      Вот два способа: [ссылка]
      Еще можно сделать виртуальный RAID при помощи mdadm, возможность в данном случае применить LVM не проверял.

      Единственное, aufs2, помимо прочего, создает на монтируемых дисках файлы/папки со служебной информацией, что может когда-то вызвать подозрение у Яндекса. Посему я для себя решил использовать mhddfs.

      Также надо помнить, что макс. размер файла, записываемого на такой сборный диск, не может превышать размер пространства одного Я.Диска.

      • Ivanich says:

        Я в Linux новичок так что буду ждать вашу заметку.

      • Ivanich says:

        Подскажите правильно ли я все понял из статьи на habrahab

        sudo mhddfs /media/мой диск Я01,/media/мой диск Я02, /media/мой диск Я03 и т.д. и всё это монтируется в /media/storage -o default_permissions,allow_other и на этом всё никаких больше манипуляций?

        • dimio says:

          Да, все верно. Перечисленные через запятую устройства будут смонтированы в /media/storage. После -o идут опции монтирования, можно и свои задать.

Добавить комментарий