简介

我的小服务器硬盘只有120g,最近快满了,因为没有特殊需求,就决定将我nas的指定目录用webdav挂载到小服务器上。

WebDav 是什么? WebDAVWeb Distributed Authoring and Versioning)是 HTTP/1.1 的扩展,因此可以作为一个协议考虑。它包含了一系列概念和由此产生的扩展方法,用以允许通过 HTTP/1.1 读写。WebDAV 不使用 NFSSMB,而是通过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