
WebDav
简介
我的小服务器硬盘只有120g,最近快满了,因为没有特殊需求,就决定将我nas的指定目录用webdav挂载到小服务器上。
WebDav 是什么? WebDAV (Web Distributed Authoring and Versioning)是 HTTP/1.1 的扩展,因此可以作为一个协议考虑。它包含了一系列概念和由此产生的扩展方法,用以允许通过 HTTP/1.1 读写。WebDAV 不使用 NFS 或 SMB,而是通过HTTP传输文件。 简单来说就是能让你将任何网络储存都能当作你的硬盘
安装
这里使用davfs2工具来实现
在Ubuntu系统中挂载WebDAV共享文件夹可通过davfs2
工具实现,以下是详细步骤及注意事项:
1. 安装davfs2
sudo apt update
sudo apt install davfs2
安装后系统会提示普通用户是否允许挂载WebDAV,选择“是”或手动配置用户组权限(见步骤6)
2. 修改davfs2配置(禁用文件锁)
为避免挂载冲突,需关闭文件锁定机制:
sudo sed -i 's/# use_locks 1/use_locks 0/g' /etc/davfs2/davfs2.conf
说明:部分WebDAV服务(如TeraCloud)不支持文件锁,此步骤可预防报错
3. 保存WebDAV认证信息
将账号密码写入安全文件,避免每次挂载输入:
echo "https://your-webdav-url.com/dav your_username your_password" | sudo tee -a /etc/davfs2/secrets
权限调整:
sudo chmod 600 /etc/davfs2/secrets # 限制文件权限
替代方案:若需用户级存储,可保存到~/.davfs2/secrets
4. 创建挂载点目录
sudo mkdir -p /mnt/webdav # 推荐路径,可自定义如/home/user/webdav
确保目录为空且无冲突文件
5. 手动挂载WebDAV
sudo mount -t davfs https://your-webdav-url.com/dav /mnt/webdav
验证挂载:
df -h | grep webdav # 查看挂载状态
ls /mnt/webdav # 检查文件列表
若成功,远程文件将显示在本地目录
6. 用户组权限配置(解决常见错误)
若报错user must be member of group 'davfs2'
:
sudo usermod -aG davfs2 $(whoami) # 将当前用户加入davfs2组
newgrp davfs2 # 刷新用户组(或重启系统)
此后无需sudo
即可挂载
7. 开机自动挂载
方法一:通过/etc/fstab
配置
sudo nano /etc/fstab
添加以下行:
https://your-webdav-url.com/dav /mnt/webdav davfs user,noauto 0 0
生效命令:
sudo mount -a # 测试配置并挂载
说明:noauto
避免启动时网络未就绪导致的失败
方法二:通过rc.local
(兼容性方案)
sudo nano /etc/rc.local
在exit 0
前添加:
mount -t davfs https://your-webdav-url.com/dav /mnt/webdav
授权执行权限:
sudo chmod +x /etc/rc.local
常见问题解决
挂载后无文件显示:
删除挂载点下的lost+found
目录(WebDAV进程无访问权限):
sudo rm -rf /mnt/webdav/lost+found
自动挂载失败:
检查网络延迟或尝试在fstab
中添加,noauto,x-systemd.automount
选项
HTTPS证书问题:
若证书不受信任,添加
,trust_cert
挂载选项:mount -t davfs -o trust_cert https://url /mnt/webdav