WebDAV 和 Windows 7,无写访问权限

WebDAV 和 Windows 7,无写访问权限

我已经使用 WebDAV 配置了我的 Apache 2.4.10:

DavLockDB "/etc/httpd/var/DavLock"

Alias /public "/srv/webdav/public"

<Directory "/srv/webdav/public">
Dav On

AllowOverride None
Options Indexes

AuthType Digest
AuthName 7ooo
AuthUserFile "/etc/httpd/user.passwd"
AuthDigestProvider file

<Limit GET HEAD OPTIONS PROPFIND>
    Require all granted
</Limit>

<LimitExcept GET HEAD OPTIONS PROPFIND>
    Require user webdav
</LimitExcept>
</Directory>

所有必要的文件和文件夹都存在并具有适当的权限。

如果我使用 Windows 7 64 位下的 Windows 资源管理器连接到 WebDAV,我可以读取文件并更改子目录。但是,我无法写入任何新文件或现有文件。Windows 资源管理器会无限期挂起。记事本也是如此。

我的配置有什么问题?

奇怪的是,其他 WebDAV 客户端(如 cadaver 甚至 iPhone 应用程序)都运行良好。

另外,如果我仅在 LimitExcept 子句前面放置“Require all grant”(没有 Limit),则写访问权限可以正常工作(对于所有用户,而不仅仅是用户“webdav”)。

答案1

您的 apache 日志是否显示您已正确通过 webdav 用户身份验证?听起来摘要式身份验证可能无法正常工作。

看一下这篇博客文章:http://dark9t.github.io/blog/2014/06/02/why-digest-authentication-fails-in-windows-7-mini-redirector/

您可能想要使用 keepalive 参数(如果您有代理,则需要更多),但切换到 HTTP 基本身份验证/SSL 会更简单,并且不会降低安全性。

相关内容