webdove и Яндекс.Диск (для Debian)

Яндекс.Диск (приведенные ниже манипуляции сделаны для Debian)
1) Установка поддержки davfs
aptitude install  davfs2
davfs2 - утилита, дающая возможность доступа к ресурсам WebDAV, как к обычной файловой локальной системе путем монтирования удаленного ресурса к локальной файловой системе.
/etc/davfs2/davfs2.conf файл конфигурации 

2) Протестируем, что WebDAV-ресурс успешно монтируется
# mount.davfs https://webdav.yandex.ru:443 /home/dad/ya.disk
#mount -t davfs https://webdav.yandex.ru:443 /home/dad/ya.disk эти две команды равнозначны
(/home/dad/ya.disk существующая папка на нашем диске)
Папка /home/dad/ya.disk смонтируется с владельцем root и группой root
Задать пользователя можно так:
chown -R dad:dad /home/dad/ya.disk
А можно сразу смонтироваться таким образом:
# mount -t davfs -o rw,uid=dad,gid=dad https://webdav.yandex.ru:443 /home/dad/ya.disk
опции uid и gid задают для папки владельца и группу соответственно

3) Пароль к WebDAV-серверу можно не вводить, если прописать его в файле:
/etc/davfs2/secrets
вносим следующую строчку:
/home/dad/ya.disk user-name user-passw
Теперь при монтировании(см.п.2) нас не будут мучить вопросами авторизации. Прописали, теперь из консоли из под суперпользователя все монтируется на ура

4) Хотим, чтобы обычные пользователи могли монтировать диск
изучаем man mount.davfs, который гласит:
To allow an ordinary user to mount there must be an entry in fstab
              http://webdav.org/dav   /media/dav   davfs   noauto,user   0   0
Чтобы позволить обычному пользователю монтировать ресурс, нужно внести запись в файл /etc/fstab
https://webdav.yandex.ru:443 /home/dad/ya.disk davfs noauto,user 0 0

5) Пару легких щелбанов по носу. Щелбан #1: 
Перезагружаемся, пытаемся примонтировать /home/dad/ya.disk
Получаем сообщение, дескать /sbin/mount.davfs: program is not setuid root
Нам намекают, что нужно поставить SUID-бит на прогрмму /sbin/mount.davfs. Это есть символическая ссылка на файл 
/usr/sbin/mount.davfs. Установим этому файлу SUID-бит(0755->4755)
#chmod 4755 /usr/sbin/mount.davfs
То же самое можно сделать при помощи команды dpkg-reconfigure davfs2
Нас любезно спросят:
Чтобы разрешить монтирование ресурсов WebDAV непривилегированным (не имеющих  
суперпользовательских прав root) пользователям на файл /sbin/mount.davfs      
должен быть установлен SUID бит.                                              
                                                                              
Если вы откажитесь, то только пользователь root сможет монтировать ресурсы    
WebDAV. Данную настройку можно изменить позже запустив команду                 
'dpkg-reconfigure davfs2'.
Соглашаемся, чтобы монтировать WebDAV при помощи /usr/sbin/mount.davfs могли обычные пользователи.

6) Щелбан #2
Пытаемся примонтироваться снова:
mount /home/dad/ya.disk
А нам и говорят, это город...., т.е. /sbin/mount.davfs: user dad must be member of group davfs2
Добавляем пользователя в группу, как нам рекомендуют
#adduser dad davfs2

7) Приз
$ mount /home/dad/ya.disk 
диск подключается обычным пользователем. Nautilus также по клику мышки монтирует и размонтирует диск.

разобраться с fstab, и с /etc/davfs2/davfs2.conf 
http://linux.die.net/man/8/mount.davfs
Comments