macOS 上的 WebDAV 以只读方式挂载

macOS 上的 WebDAV 以只读方式挂载

使用 Finder,我挂载了一个 WebDAV 共享。为此,我输入用户名和密码以及服务器名称:端口(例如;即,,,,)。http://userName:[email protected]:9980/username=userNamepassword=passWordservername=local.serverport=9980

由于某种原因,在 macOS Sonoma 14.2 上,安装是只读的。我无法创建文件/文件夹,也无法删除文件。

当我使用不同的 WebDAV 客户端(例如 Android 上的 SolidExplorer)(使用相同的用户名和密码)时,挂载是可读写的。

WebDAV 服务器:我尝试了多个。例如 Docker 容器ugeek/webdavbytemark/webdavnginx 直接在“ local.server”上。

答案1

似乎是某些 WebDAV 服务器实现的问题,即 nginx。macOS 似乎需要“2 级锁定”,但 nginx 不提供此功能某种解决方法

由于我并不依赖 nginx,因此我改用了 Apache。配置非常简单:

<VirtualHost *>
    ServerAdmin webmaster@localhost
    DavLockDB /srv/dav/var/DavLockDB
    DocumentRoot /srv/dav/data

    <Directory /srv/dav/data>
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        allow from all

        DAV On
        AuthType Basic
        AuthName "WebDAV Data"
        AuthUserFile /etc/apache2/htpasswd.dav
        Require valid-user
    </Directory>
</VirtualHost>

/etc/apache2/htpasswd.dav是通常htpasswd生成的身份验证文件;通过运行以下命令创建:

sudo htpasswd -c /etc/apache2/htpasswd.dav davuser

DavLockDB文件/srv/dav/var/DavLockDB由 Apache 创建。要求:目录需要存在且可由 Apache 用户写入:

sudo install -d -m 0775 -o www-data -g www-data /srv/dav/var

相关内容