在Linux上挂载WebDAV

1.安装 davfs2

在终端中执行以下命令,安装 davfs2 包。

sudo apt-get update
sudo apt-get install davfs2

会弹出一个选项 键盘左箭头移动到 选择yes 回车确定

2.创建目录挂载点

创建一个目录作为挂载点:

sudo mkdir /mnt/webdav

3.配置 davfs2

编辑 davfs2.conf 文件以配置 davfs2。打开配置文件:

sudo nano /etc/davfs2/davfs2.conf

image-20240331232001190

4.配置 davfs2 secrets 文件

创建 secrets 文件以存储 WebDAV 服务器的用户名和密码。在终端中执行以下命令

sudo nano /etc/davfs2/secrets

image-20240331224809694

添加类似以下的行,替换为你的 WebDAV 服务器的用户名和密码:

http://192.168.1.1:2333/webdav username password

在这个命令中,http://192.168.1.1:2333/webdav是你的WebDAV服务器的路径,username是你的用户名,password是你的密码。

请注意,你需要确保你的密码没有空格,如果你的密码中有空格,你需要使用反斜杠(\)来转义空格。

添加完成后,你可以使用

sudo mount -t davfs http://192.168.1.1:2333/webdav /mnt/webdav

来挂载WebDAV,而不需要再次输入密码。

切记 WebDAV 无法挂载到根目录。这是因为 WebDAV 是一个基于 HTTP 的协议,它要求服务器能够处理针对根目录的请求。然而,大多数服务器都将根目录配置为不允许写入,这意味着 WebDAV 客户端无法创建或修改根目录中的文件。

5.设置文件权限:

为了确保 secrets 文件中的密码是安全的,设置文件权限:

sudo chmod 600 /etc/davfs2/secrets

6.监控Webdav挂载脚本

我用的是宝塔的计划任务 我设置的是5分钟运行监控一次 来达到docker一直重启的效果 代替开机自动运行 主要是怕运行途中挂了 又要重新去搞 麻烦

image-20240331231205415

#!/bin/bash

# WebDAV URL
WEBDAV_URL="http://192.168.1.1:2333/webdav"
# 挂载点
MOUNT_POINT="/mnt/webdav"

# 检查是否已挂载
if mount | grep "on ${MOUNT_POINT} type" > /dev/null; then
    echo "WebDAV已成功挂载在${MOUNT_POINT}"
else
    echo "WebDAV未挂载,尝试重新挂载..."
    # 尝试挂载
    sudo mount -t davfs ${WEBDAV_URL} ${MOUNT_POINT}
    # 检查挂载是否成功
    if mount | grep "on ${MOUNT_POINT} type" > /dev/null; then
        echo "重新挂载成功"
    else
        echo "挂载失败,请检查网络连接或WebDAV服务器状态"
    fi
fi

http://192.168.1.1:2333/webdav

只需修改成你自己webdav地址即可。

7.卸载 WebDAV 共享

当你不再需要访问 WebDAV 共享时,可以使用 umount 命令卸载:

sudo umount /mnt/webdav

全文大部分参考下文 然后融入了我的一些理解。

[WebDav多平台挂载详细方法(Linux+Windows+IOS)_挂载webdav-CSDN博客](

最后修改:2024 年 07 月 30 日
如果觉得我的文章对你有用,请随意赞赏