zyxmon Posted July 2, 2016 Share Posted July 2, 2016 Эта тема основана на темах 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 Quote Link to comment Share on other sites More sharing options...
zyxmon Posted July 2, 2016 Author Share Posted July 2, 2016 Автоматизируем монтирование Чтобы каждый раз не вводить логин и пароль, создадим файл /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`). Это добавит паузу перед монтированием. Величину паузы подберите экспериментально. 2 1 Quote Link to comment Share on other sites More sharing options...
wolters13 Posted November 26, 2016 Share Posted November 26, 2016 Помогите люди добрые да действительно все работает на ура , но только если файлы или папки создавать прямо в МС кинетика,а вот проводник с виндовс или клиент FTP живет на своей волне Quote Link to comment Share on other sites More sharing options...
wolters13 Posted December 9, 2016 Share Posted December 9, 2016 так никто и не ткнет носом где копать? Quote Link to comment Share on other sites More sharing options...
Dorik1972 Posted December 16, 2016 Share Posted December 16, 2016 (edited) Все красиво работает .. только я бы дополнил маленько скрип запуска вот так 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 монтроваться не будет .... Edited December 19, 2016 by Dorik1972 2 Quote Link to comment Share on other sites More sharing options...
Илларион Posted April 20, 2017 Share Posted April 20, 2017 Смонтированный диск "занимает" место на физических носителях роутера? ну там кеши какие нибудь? монтировал в винде яндекс диск и отображалось что свободного места ровно столько сколько на диске С у меня. Quote Link to comment Share on other sites More sharing options...
zyxmon Posted April 21, 2017 Author Share Posted April 21, 2017 11 час назад, Илларион сказал: монтировал в винде яндекс диск Неужели с помощью davfs2. Изучите параметры davfs и в особенности cache_size 1 Quote Link to comment Share on other sites More sharing options...
serguei00 Posted May 6, 2017 Share Posted May 6, 2017 подскажите, а можно как-нибудь обойти отсутствие линка mtab -> /proc/mounts Quote Link to comment Share on other sites More sharing options...
zyxmon Posted May 7, 2017 Author Share Posted May 7, 2017 8 часов назад, serguei00 сказал: а можно как-нибудь обойти Через `mount -o bind ....` любую папку RO можно сделать RW. Дальнейшее обсуждение выходит за рамки этого топика! Quote Link to comment Share on other sites More sharing options...
necfe Posted June 9, 2017 Share Posted June 9, 2017 к сожалению столкнулся с проблемой, если подкиньте идеи, буду очень признателен. Мой роутер 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 ~ # неудается смонтировать Quote Link to comment Share on other sites More sharing options...
vasek00 Posted June 9, 2017 Share Posted June 9, 2017 (edited) После установки проверить 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 # Edited June 9, 2017 by vasek00 1 Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted June 9, 2017 Share Posted June 9, 2017 7 минут назад, vasek00 сказал: создать файл с любым именем в котором одна буква - dav.inp y Апплет yes не годится? yes | mount -t davfs https://webdav.yandex.ru /opt/home/yandex -o rw Quote Link to comment Share on other sites More sharing options...
vasek00 Posted June 9, 2017 Share Posted June 9, 2017 (edited) 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 # Edited June 9, 2017 by vasek00 Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted June 9, 2017 Share Posted June 9, 2017 13 минуты назад, vasek00 сказал: в посте выше все работает и диск есть и служба весит «У меня всё работает» — плохой аргумент. Сами ведь понимаете, что dav.inp — это откровенный костыль, которому есть нормальная замена. Quote Link to comment Share on other sites More sharing options...
vasek00 Posted June 9, 2017 Share Posted June 9, 2017 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 # 1 Quote Link to comment Share on other sites More sharing options...
necfe Posted June 9, 2017 Share Posted June 9, 2017 (edited) Все сделал но, увы опять ~ # 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 Edited June 9, 2017 by necfe Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted June 9, 2017 Share Posted June 9, 2017 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. Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted June 9, 2017 Share Posted June 9, 2017 Вообще можно включить сертификат в число доверенных и никаких вопросов и предупреждений больше не будет. Опуская промежуточные действия по поиску отсутствующего сертификата в цепочке: $ 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. 1 Quote Link to comment Share on other sites More sharing options...
vasek00 Posted June 10, 2017 Share Posted June 10, 2017 15 часов назад, Александр Рыжов сказал: Фигово. Должно быть: or there might be a man-in-the-middle-attack. Accept certificate for this session? [y,N] ~ # Какая прошивка/девайс? Проверил и в интерактивном сеансе на GIII с последней бетой и Entware-3x. KII на последней 209B с Entware3 Quote Link to comment Share on other sites More sharing options...
vasek00 Posted June 10, 2017 Share Posted June 10, 2017 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 И каталог монтирования конечно на месте? Quote Link to comment Share on other sites More sharing options...
necfe Posted June 11, 2017 Share Posted June 11, 2017 (edited) 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 Я не могу смонтировать =( Edited June 14, 2017 by necfe Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted June 15, 2017 Share Posted June 15, 2017 В 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/ Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted June 15, 2017 Share Posted June 15, 2017 Только что, necfe сказал: безусловно так тоже пробывал Явно жалуется на корявость учётных данных: Цитата Could not authenticate to server: rejected Basic challenge Quote Link to comment Share on other sites More sharing options...
necfe Posted June 15, 2017 Share Posted June 15, 2017 Проблема действительно была в Яндексе, необходимо зайти в настройки яндекс паспорт и выбрать "СОЗДАТЬ ПАРОЛЬ ПРИЛОЖЕНИЯ" та выбрать "Файлы Webdav", далее вылетит окошко с пассом, его и надо вводить. Мой тот что штатный почему-то не принимает... 1 Quote Link to comment Share on other sites More sharing options...
el matador Posted January 17, 2019 Share Posted January 17, 2019 (edited) Ребят, не пинайте не грамотного! В ручную подключаюсь к диску, а вот в автомате пока так и не понял как сделать, чтобы не вписывать имя и пароль и потом еще ответить yes. Подскажите еще раз пожалуйста! Просто если делать как написано в первом посте, то ошибка за ошибкой и не получается. И еще вопрос: хочу это примонтированный раздел прицепить к разделу на сетевом хранилище (WD), делаю из WD, а там пишет - is not a valid block device. В настройках роутера есть доступ к разделу и все такое. Хотя пробовал подцепить на бук раздел, так там тоже ругается. Может есть вариант принудительно расшарить отдельные папки руками? Edited January 17, 2019 by el matador Quote Link to comment Share on other sites More sharing options...
ankar84 Posted January 24, 2019 Share Posted January 24, 2019 (edited) У меня все подмантировалось успешно, за исключением одного НО. Вот как я делал: Сначала идет в настройки учетной записи в Яндексе и получаем там пароль приложения для 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 папка пустая. Почему? Скрытый текст Edited January 24, 2019 by ankar84 1 Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted January 24, 2019 Share Posted January 24, 2019 23 минуты назад, ankar84 сказал: Сначала идет в настройки учетной записи в Яндексе и получаем там пароль приложения для WebDav, именно его и будет использовать Это только для тех, кто использует 2FA, верно? Quote Link to comment Share on other sites More sharing options...
zyxmon Posted January 24, 2019 Author Share Posted January 24, 2019 29 минут назад, ankar84 сказал: На роутере я подключенный диск вижу прекрасно, могу ходить по папкам и прочее, но вот при просмотре через CIFS папка пустая. Почему? Особенность fusefs - но можно поискать флаги монтирования..... Quote Link to comment Share on other sites More sharing options...
ankar84 Posted January 24, 2019 Share Posted January 24, 2019 1 час назад, Александр Рыжов сказал: Это только для тех, кто использует 2FA, верно? Да, в справке сказано именно так, но лично я 2FA не использую и у меня отлично все подмонтировалось с паролем приложения. А для использующих 2FA это, видимо, вообще единственный обходной путь. Quote Link to comment Share on other sites More sharing options...
ankar84 Posted January 24, 2019 Share Posted January 24, 2019 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) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.