Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Эта тема основана на темах http://forum.zyxmon.org/topic249-podkly ... etiku.html и http://forums.zyxmon.org/viewtopic.php?f=5&t=33 и учитывает специфику кинетиков с прошивкой ndmsv2.

Что необходимо для того, чтобы смонтировать яндекс диск как папку.

1. Кинетик с прошивкой от 02.07.2016 или более поздней в которой есть файл (симлинк) /etc/mtab

ls -l /etc
lrwxrwxrwx    1 root     root             7 Jul  2 08:29 TZ -> /var/TZ
.....
lrwxrwxrwx    1 root     root            12 Jul  2 08:29 mtab -> /proc/mounts
 

2. Установленная система пакетов Entware-keenetic - viewtopic.php?f=4&t=333

3. Установленный модуль ядра fuse - viewtopic.php?f=3&t=471

fuse.png

Опубликовано

Автоматизируем монтирование

Чтобы каждый раз не вводить логин и пароль, создадим файл /opt/etc/davfs2/yandex

В файл добавим 3 строки. 1-я логин, 2-я пароль, 3-я буква y. Файл должен заканчиваться символом конца строки и иметь UNIX окончания строк. Создавайте и редактируйте его прямо на роутере.

Создадим исполняемый скрипт запуска, для тестирования сначала в домашней папке

touch S99ya_disk
chmod +x S99ya_disk

Содержимое файла

#!/opt/bin/sh

PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

chmod 644 /dev/urandom
chmod 644 /dev/random
chmod 644 /dev/ptmx
chmod 666 /dev/null

MOUNTPOINT=/opt/ya


case "$1" in
   start)
       mkdir -p $MOUNTPOINT
       mount -t davfs https://webdav.yandex.ru $MOUNTPOINT -o rw < /opt/etc/davfs2/yandex >/dev/null
       ;;
   stop)
       if ( (mount | grep -q yandex) ); then
           umount $MOUNTPOINT
       fi
       ;;
   restart)
       stop
       sleep 1
       start
       ;;
   *)
       echo "Usage: $0 {start|stop|restart}"
       ;;
esac

Проверим скрипт. Команда `./S99ya_disk start` должна монтировать yandex, а команда `./S99ya_disk stop` должна его размонтировать.

Если все работает и Вам нужно монтировать yandex диск при старте кинетика, скопируйте этот файл в папку /opt/etc/init.d

Внимание!!! Скрипт может запуститься когда еще нет соединения с интернетом, или не прошла полная инициализация маршрутизатора. В этом случа он не проработает. Чтобы этого не случилось, добавьте перед строкой mount в функции start строку `sleep nnn` (nnn - число секунд, например `sleep 10`). Это добавит паузу перед монтированием. Величину паузы подберите экспериментально.

  • 4 месяца спустя...
Опубликовано

Помогите люди добрые

да действительно все работает на ура , но только если файлы или папки создавать прямо в МС кинетика,а вот проводник с виндовс или клиент FTP живет на своей волне

  • 2 недели спустя...
Опубликовано (изменено)

Все красиво работает .. только я бы дополнил маленько скрип запуска вот так

case "$1" in

   start)

       mkdir -p $MOUNTPOINT

     

       if [ -f /opt/var/run/mount.davfs/opt-ya.pid ]; then

         rm /opt/var/run/mount.davfs/opt-ya.pid

       fi

      

   

 

Иначе при использовании оригинала скрипа из первого поста при "случайном" пропадании электричества .. после перегрузки роутера yandex.disk монтроваться не будет .... 

Изменено пользователем Dorik1972
  • 4 месяца спустя...
Опубликовано

Смонтированный диск "занимает" место на физических носителях роутера? ну там кеши какие нибудь?

монтировал в винде яндекс диск и отображалось что свободного места ровно столько сколько на диске С у меня.

  • 3 недели спустя...
Опубликовано
8 часов назад, serguei00 сказал:

а можно как-нибудь обойти

Через `mount -o bind ....` любую папку RO можно сделать RW. Дальнейшее обсуждение выходит за рамки этого топика!

  • 1 месяц спустя...
Опубликовано

к сожалению столкнулся с проблемой, если подкиньте идеи, буду очень признателен.
Мой роутер Zyxel Keenetic Giga2 в него воткнул 2ТВ (nas сигейт), прошивка v2.08(AAFS.0)C2. раздел ext3

1) Установил Entware - установилось
2) модуль ядра - галку поставил
3) создал файлик /opt/etc/davfs2/yandex (через МС) 
=внутри него три строки:
vasayvsays
fakepass
y
=сохранил фаил
4) создал скрипт touch S99ya_disk потом chmod +x S99ya_disk 
5) внутри файла *S99ya_disk внес "#!/opt/bin/sh и т.д." сохранил
6) Запускаю ./S99ya_disk start вылетает:

Usage: ./S99ya_disk {start|stop|restart}
~ # ./S99ya_disk start
mount.davfs: Mounting failed.
Could not authenticate to server: rejected Basic challenge
mount: mounting https://webdav.yandex.ru on /opt/ya failed: No such device
~ # 

неудается смонтировать

Опубликовано (изменено)

После установки проверить davfs2.conf и подправить при необходимости

 cache_dir       /opt/var/cache/davfs2 # system wide cache

файл secrets

/opt/home/yandex userххххх passwdхххххх

создать файл с любым именем в котором одна буква - dav.inp

y

/opt/etc/davfs2 # ls -l
drwxr-xr-x    3 root     root          1024 Jun  9 15:16 certs
-rw-r--r--    1 root     root             2 Nov 16  2012 dav.inp
-rw------    1 root     root          2295 Jul  7  2016 davfs2.conf
-rw-------    1 root     root            33 Jun  9 15:23 secrets
/opt/etc/davfs2 #

создать каталог куда монтировать например /opt/home/yandex

/opt/home # ls -l
...
drwxr-xr-x    3 root     root            72 Apr  5  2012 yandex
/opt/home # 

проверить на запуск

mount -t davfs https://webdav.yandex.ru /opt/home/yandex -o rw < /opt/etc/davfs2/dav.inp

Скрытый текст

/opt/etc # mount -t davfs https://webdav.yandex.ru /opt/home/yandex -o rw < /opt/etc/davfs2/dav.inp
mount.davfs: the server certificate is not trusted
  issuer:      Yandex Certification Authority, Yandex LLC, RU
  subject:     Russian Federation, Moscow, ITO, Yandex LLC, RU
  identity:    *.disk.yandex.net
  fingerprint: e1:a6:16:2d:40:хх:хх:хх:хх:хх:хх:хх:хх:хх:хх:хх:хх:хх:хх:da
You only should accept this certificate, if you can
verify the fingerprint! The server might be faked
or there might be a man-in-the-middle-attack.
Accept certificate for this session? [y,N] /opt/etc #

/opt/etc #  df
Filesystem           1K-blocks      Used Available Use% Mounted on
rootfs                   13312     13312         0 100% /
/dev/root                13312     13312         0 100% /
tmpfs                    63112         0     63112   0% /dev
tmpfs                    63112       168     62944   0% /tmp
/dev/mtdblock/7            960       196       764  20% /storage
...

/dev/sda2               928987     39921    839505   5% /opt https://webdav.yandex.ru
                      10485756        20  10485736   0% /opt/home/yandex

/opt/etc # mount
...

/dev/sda2 on /opt type ext4 (rw,relatime,data=ordered)
https://webdav.yandex.ru on /opt/home/yandex type fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,max_read=16384)
/opt/etc #

 

 

Изменено пользователем vasek00
Опубликовано (изменено)
9 минут назад, Александр Рыжов сказал:

Апплет yes не годится?


yes | mount -t davfs https://webdav.yandex.ru /opt/home/yandex -o rw

 

в посте выше все работает и диск есть и служба весит

21534 nobody    7364 S    mount.davfs https://webdav.yandex.ru /opt/home/yandex

/opt/etc/davfs2 # cat dav.inp
y
/opt/etc/davfs2 # 

/opt/home/yandex # ls -l
-rw-r--r--    1 root     root         57450 Jun  9 15:17 davfs2_1.5.4-2_mipsel-3x.ipk
-rw-r--r--    1 root     root       4004779 May 29 12:36 iperf3cygwingui-3.0b4-03.zip
drwx------    2 root     root             0 Jun  9 15:24 lost+found
-rw-r--r--    1 root     root       5918723 Jun  1 15:15 syncthing-linux-mips-v0.14.29.tar.gz
-rw-r--r--    1 root     root       6066706 Jun  1 15:15 syncthing-windows-386-v0.14.29.zip
/opt/home/yandex # 

 

Изменено пользователем vasek00
Опубликовано
13 минуты назад, vasek00 сказал:

в посте выше все работает и диск есть и служба весит

«У меня всё работает» — плохой аргумент. Сами ведь понимаете, что dav.inp — это откровенный костыль, которому есть нормальная замена.

Опубликовано
16 минут назад, Александр Рыжов сказал:

«У меня всё работает» — плохой аргумент. Сами ведь понимаете, что dav.inp — это откровенный костыль, которому есть нормальная замена.

принято

/opt/var/run/mount.davfs # yes | mount -t davfs https://webdav.yandex.ru /opt/home/yandex -o rw
mount.davfs: the server certificate is not trusted
  issuer:      Yandex Certification Authority, Yandex LLC, RU
  subject:     Russian Federation, Moscow, ITO, Yandex LLC, RU
  identity:    *.disk.yandex.net
  fingerprint: e1:a6:........:da
You only should accept this certificate, if you can
verify the fingerprint! The server might be faked
or there might be a man-in-the-middle-attack.
Accept certificate for this session? [y,N] yes: Broken pipe
/opt/var/run/mount.davfs # 
/opt/var/run/mount.davfs # df
Filesystem           1K-blocks      Used Available Use% Mounted on
rootfs                   13312     13312         0 100% /
.....
/dev/sda2               928987     55688    823738   6% /opt
https://webdav.yandex.ru
                      10485756     15784  10469972   0% /opt/home/yandex
/opt/var/run/mount.davfs #

 

Опубликовано (изменено)

Все сделал но, увы опять

~ # mount -t davfs https://webdav.yandex.ru /opt/home/yandex -o rw < /opt/etc/davfs2/dav.inp
mount.davfs: Mounting failed.
Could not authenticate to server: rejected Basic challenge
mount: mounting https://webdav.yandex.ru on /opt/home/yandex failed: No such device


~ # yes | mount -t davfs https://webdav.yandex.ru /opt/home/yandex -o rw
mount.davfs: Mounting failed.
Could not authenticate to server: rejected Basic challenge
mount: mounting https://webdav.yandex.ru on /opt/home/yandex failed: No such device

root@Keenetic_Giga:/opt/etc/davfs2# ls -l
drwxr-xr-x    3 root     root          4096 Jun  8 23:58 certs
-rw-r--r--    1 root     root             1 Jun  9 16:42 dav.inp
-rw-------    1 root     root          2311 Jun  9 16:40 davfs2.conf
-rw-------    1 root     root          2684 Jun  9 16:38 secrets

root@Keenetic_Giga:/opt/home# ls -l
-rwxr-xr-x    1 root     root          1565 Jun  9 10:17 S99ya_disk
drwxr-xr-x    2 root     root          4096 Jun  9 15:50 yandex

Изменено пользователем necfe
Опубликовано
32 минуты назад, vasek00 сказал:

 


or there might be a man-in-the-middle-attack.
Accept certificate for this session? [y,N] yes: Broken pipe

 

Фигово. Должно быть:

or there might be a man-in-the-middle-attack.
Accept certificate for this session? [y,N] ~ #

Какая прошивка/девайс? Проверил и в интерактивном сеансе на GIII с последней бетой и Entware-3x.

 

 

Опубликовано

Вообще можно включить сертификат в число доверенных и никаких вопросов и предупреждений больше не будет. Опуская промежуточные действия по поиску отсутствующего сертификата в цепочке:

$ wget -O - http://certificate.fyicenter.com/Download-Certificate.php?ID=329 > /opt/etc/davfs2/certs/Certum_Trusted_Network_CA.crt
$ echo 'servercert /opt/etc/davfs2/certs/Certum_Trusted_Network_CA.crt' >> /opt/etc/davfs2/davfs2.conf

Теперь не понадобится ни костыльный файл, ни апплет yes.

Опубликовано
15 часов назад, Александр Рыжов сказал:

Фигово. Должно быть:


or there might be a man-in-the-middle-attack.
Accept certificate for this session? [y,N] ~ #

Какая прошивка/девайс? Проверил и в интерактивном сеансе на GIII с последней бетой и Entware-3x.

 

 

KII на последней 209B с Entware3

Опубликовано
16 часов назад, necfe сказал:

Все сделал но, увы опять

~ # mount -t davfs https://webdav.yandex.ru /opt/home/yandex -o rw < /opt/etc/davfs2/dav.inp
mount.davfs: Mounting failed.
Could not authenticate to server: rejected Basic challenge
mount: mounting https://webdav.yandex.ru on /opt/home/yandex failed: No such device


~ # yes | mount -t davfs https://webdav.yandex.ru /opt/home/yandex -o rw
mount.davfs: Mounting failed.
Could not authenticate to server: rejected Basic challenge
mount: mounting https://webdav.yandex.ru on /opt/home/yandex failed: No such device

root@Keenetic_Giga:/opt/etc/davfs2# ls -l
drwxr-xr-x    3 root     root          4096 Jun  8 23:58 certs
-rw-r--r--    1 root     root             1 Jun  9 16:42 dav.inp
-rw-------    1 root     root          2311 Jun  9 16:40 davfs2.conf
-rw-------    1 root     root          2684 Jun  9 16:38 secrets

root@Keenetic_Giga:/opt/home# ls -l
-rwxr-xr-x    1 root     root          1565 Jun  9 10:17 S99ya_disk
drwxr-xr-x    2 root     root          4096 Jun  9 15:50 yandex

И каталог монтирования конечно на месте?

Опубликовано (изменено)

Device                  Start                End         Sectors        Size Type
/dev/sda1                  34          2074713       2074680        1013M Linux swap
/dev/sda2          2074714     1471836135    1469761422    700,9G Linux filesystem
/dev/sda3      1471836136    3907029133    2435192998        1,1T Microsoft basic data
хочу смонтировать на /dev/sda2

# mount -t davfs https://webdav.yandex.ru /dev/sda2/opt/ya/ 
mount.davfs: can't evaluate path of mount point (null)
mount: mounting https://webdav.yandex.ru on /dev/sda2/opt/ya/ failed: Not a directory

/etc # df -h
Filesystem                Size      Used    Available Use%                     Mounted on
rootfs                   10.1M     10.1M         0 100%                          /
/dev/root                10.1M     10.1M         0 100%                         /
tmpfs                   125.1M         0    125.1M   0%                         /dev
tmpfs                   125.1M     92.0K    125.0M   0%                     /tmp
/dev/mtdblock/7         960.0K    196.0K    764.0K  20%               /storage
/dev/sda1               997.1M    961.0M         0 100%                   /tmp/mnt/SWAP
/dev/sda2               688.9G     29.8M    653.8G   0%                 /tmp/mnt/OpenWRT
/dev/sda3                 1.1T     84.6G      1.1T   7%                     /tmp/mnt/Files
/dev/sda2               688.9G     29.8M    653.8G   0%                 /opt

Я не могу смонтировать =(

 

Изменено пользователем necfe
Опубликовано
В 11.06.2017 в 13:27, necfe сказал:

mount -t davfs https://webdav.yandex.ru /dev/sda2/opt/ya/ 

не-не-не!

mount -t davfs https://webdav.yandex.ru /opt/ya/ 
20 минут назад, necfe сказал:

есесено за ..

Если помогло, то переведите любую сумму на https://donate.podari-zhizn.ru/

Опубликовано

Проблема действительно была в Яндексе,  необходимо зайти в настройки яндекс паспорт и выбрать "СОЗДАТЬ ПАРОЛЬ ПРИЛОЖЕНИЯ" та выбрать "Файлы Webdav", далее вылетит окошко с пассом, его и надо вводить. Мой тот что штатный почему-то не принимает...

  • 1 год спустя...
Опубликовано (изменено)

Ребят, не пинайте не грамотного! В ручную подключаюсь к диску, а вот в автомате пока так и не понял как сделать, чтобы не вписывать имя и пароль и потом еще ответить yes.

Подскажите еще раз пожалуйста!

Просто если делать как написано в первом посте, то ошибка за ошибкой и не получается.

И еще вопрос: хочу это примонтированный раздел прицепить к разделу на сетевом хранилище (WD), делаю из WD, а там пишет - is not a valid block device.

В настройках роутера есть доступ к разделу и все такое. Хотя пробовал подцепить на бук раздел, так там тоже ругается. Может есть вариант принудительно расшарить отдельные папки руками?

Изменено пользователем el matador
Опубликовано (изменено)

У меня все подмантировалось успешно, за исключением одного НО. Вот как я делал:

Сначала идет в настройки учетной записи в Яндексе и получаем там пароль приложения для WebDav, именно его и будет использовать

opkg install davfs2
touch S99ya_disk
chmod +x S99ya_disk
wget -O - http://certificate.fyicenter.com/Download-Certificate.php?ID=329 > /opt/etc/davfs2/certs/Certum_Trusted_Network_CA.crt
echo 'servercert /opt/etc/davfs2/certs/Certum_Trusted_Network_CA.crt' >> /opt/etc/davfs2/davfs2.conf
echo '/opt/home/yandex username password' >> /opt/etc/davfs2/secrets
chmod 0600 /opt/etc/davfs2/secrets
vi S99ya_disk

Тут опять же редактируем точку монтирования в /opt/home/yandex

Получается примерно вот так

#!/opt/bin/sh

PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

chmod 644 /dev/urandom
chmod 644 /dev/random
chmod 644 /dev/ptmx
chmod 666 /dev/null

MOUNTPOINT=/opt/home/yandex

case "$1" in
   start)
       mkdir -p $MOUNTPOINT
       if [ -f /opt/var/run/mount.davfs/opt-home-yandex.pid ]; then
         rm /opt/var/run/mount.davfs/opt-home-yandex.pid
       fi
      mount -t davfs https://webdav.yandex.ru $MOUNTPOINT -o rw
       ;;
   stop)
       if ( (mount | grep -q yandex) ); then
           umount $MOUNTPOINT
       fi
       ;;
   restart)
       stop
       sleep 1
       start
       ;;
   *)
       echo "Usage: $0 {start|stop|restart}"
       ;;
esac

Запускаем, проверяем.

~ # ./S99ya_disk start
~ # df
Filesystem           1K-blocks      Used Available Use% Mounted on
rootfs                   14080     14080         0 100% /
...
https://webdav.yandex.ru
                     264241148 127769492 136471656  48% /opt/home/yandex
~ # mount
rootfs on / type rootfs (rw)
...
https://webdav.yandex.ru on /opt/home/yandex type fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,max_read=16384)

А вот теперь то самое НО.

На роутере я подключенный диск вижу прекрасно, могу ходить по папкам и прочее, но вот при просмотре через CIFS папка пустая. Почему?

Скрытый текст

image.png.8359924d2ec11cd95fbb75db16ad4065.png

  

Изменено пользователем ankar84
Опубликовано
23 минуты назад, ankar84 сказал:

Сначала идет в настройки учетной записи в Яндексе и получаем там пароль приложения для WebDav, именно его и будет использовать

Это только для тех, кто использует 2FA, верно?

Опубликовано
29 минут назад, ankar84 сказал:

На роутере я подключенный диск вижу прекрасно, могу ходить по папкам и прочее, но вот при просмотре через CIFS папка пустая. Почему?

Особенность fusefs - но можно поискать флаги монтирования.....

Опубликовано
1 час назад, Александр Рыжов сказал:

Это только для тех, кто использует 2FA, верно?

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

Опубликовано
2 часа назад, zyxmon сказал:

Особенность fusefs - но можно поискать флаги монтирования

Очень жаль. В таком виде не смогу применить, скорее всего.

Хотя странно, ведь allow_other есть, но такое впечатление, что доступно монтирование только root (CIFS у меня под другим пользователем - из прошивки)

https://webdav.yandex.ru on /opt/home/yandex type fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,max_read=16384)

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.