简介
什么是webdav,是一组基于超文本传输协议的技术集合,有利于用户间协同编辑和管理存储在万维网服务器文档。国外的很多网盘,包括owncloud、nextcloud、坚果云等都支持webdav,本文以yandex为例子介绍,挂载在Linux上。
介绍
Linux
davfs2或者fusedav将WebDAV共享挂载成Coda或者FUSE文件系统。KDE将WebDAV作为kio_http的一部分提供原生支持。Dolphin,Konqueror等其他KDE应用程序可以直接与WebDAV服务器交互。Nautilus也提供内置支持。cadaver命令行工具提供类FTP命令集,也包含在很多Linux发行版中。Apache HTTP服务 提供基于davfs和Apache Subversion的WebDAV模块。
Windows
NetDrive:挂载为网络硬盘机
Mac
Finder:系统内置程式
本文就是利用davfs2挂载wendav。
安装
Linux主要的源中都有davfs2,也可以自己编译,需要准备好环境。
Debian / Ubuntu:
#安装依赖
apt-get install neon -y
#安装davfs2
apt-get install davfs2 -y
#挂载
mkdir /mnt/webdav
mount -t davfs https://webdav.yandex.ru /mnt/webdavRHCL / CentOS / Fedora:
#安装依赖
yum install neon -y
#安装davfs2
apt-get install davfs2 -y
#挂载
mkdir /mnt/webdav
mount -t davfs https://webdav.yandex.ru /mnt/webdav然后根据提示输入Username(用户名)& Password(密码)挂载即可。
配置
可以把账号密码写入配置文件,以普通用户来挂载。
usermod -a -G network username编辑/etc/fstab文件,在后面添加(username自己替换):
https://webdav.example.com /home/username/webdav davfs user,noauto,uid=username,file_mode=600,dir_mode=700 0 1创建账号密码配置:
mkdir ~/.davfs2/
echo "https://webdav.example.com webdavuser webdavpassword" >> ~/.davfs2/secrets
chmod 0600 ~/.davfs2/secretsyandex url是:
https://webdav.yandex.ru如果是owncloud, url是:
https://webdav.example.com/remote.php/webdav多用户配置
/home/username/disk1 webdavuser1 "webdavpassword1"
/home/username/disk2 webdavuser1 "webdavpassword2"
.........
/home/username/diskN webdavuserN "webdavpasswordN"关于挂载和取消挂载:
#挂载
mount ~/webdav
#取消挂载
fusermount -u ~/webdav注意,上面的~/webdav为实际挂载的路径地址
错误
1)如果在复制剪切文件遇到错误,编辑/etc/davfs2/davfs2.conf,修改配置如下,
[...]
use_locks 0
[...]或者可以直接使用sed命令修改系统设置:
sed -i 's/# use_locks 1/use_locks 0/g' /etc/davfs2/davfs2.conf2)如果遇到挂载盘后无法卸载盘,提示报错 Device or resource busy. 或者 device is busy. 的情况,可以使用下面的解决办法:
<方法1>
如果万幸没有加入开机自动挂载,那么可以使用重启大法。
<方法2>
使用lsof +d 命令找到占用目录的进程的PID,再使用kill命令杀死进程即可。
# 运行命令查找目录占用的进程
$ lsof +d <挂载路径>
# 使用kill命令杀死进程
$ kill -9 <PID>
