AList 升级 3.42.0 后 rclone 报 WebDAV 403:权限机制变更的排查与修复全指南
【免费下载链接】alist🗂️A file list/WebDAV program that supports multiple storages, powered by Gin and Solidjs. / 一个支持多存储的文件列表/WebDAV程序,使用 Gin 和 Solidjs。项目地址: https://gitcode.com/GitHub_Trending/al/alist
AList 从 3.40.0 升级到 3.42.0 后,不少 rclone(命令行文件同步工具)用户无法再列出 WebDAV 目录,直接报 403 Forbidden。新版本对 WebDAV 请求的权限校验做了收紧,本文讲清报错日志、变更机制与修复步骤。
症状确认:rclone 403 报错日志逐行解读 🔍
在 rclone 上执行列目录命令:
rclone lsd alist:如果输出如下,基本可以确定踩了这个坑:
ERROR : : error listing: couldn't list files: 403 Forbidden NOTICE: Failed to lsd with 2 errors: last error was: couldn't list files: 403 Forbidden第一行是 rclone 向 AList 发送目录列表请求被服务端拒绝,403 Forbidden表示身份已识别但权限不足;若是 401,则属于账号密码问题,应先核对 rclone remote 里的凭据。
变更机制拆解:WebDAV 权限校验动了什么
对照 3.40.0 与 3.42.0 的行为,差异有三点:
- 旧版中 WebDAV 登录成功后即可直接列目录,不单独检查用户的读取权限位;新版每个 /dav 请求都先经过 WebDAV 认证中间件,检查用户是否具备「WebDAV 读取」权限(用户权限按位管理,第 8 位为 WebDAV 读取、第 9 位为 WebDAV 写入,见 internal/model/user.go)。
- 校验不通过时服务端直接返回 403,不返回任何目录内容,具体拦截逻辑在 server/webdav.go。
- 收紧目的:防止拥有前台浏览权的用户未经独立授权就通过 WebDAV 读取网盘文件,把 WebDAV 访问纳入统一的权限体系。
三步开启 WebDAV 读取权限,一条命令验证修复
- 打开 AList 管理后台,用管理员账号登录。
- 进入「用户管理」,找到 rclone 远端实际使用的那个用户。
- 在该用户的权限设置中勾选「WebDAV 读取」(有上传、删除需求则同时勾选「WebDAV 写入」),保存配置。
- 重新执行
rclone lsd alist:,能列出目录即修复完成;仍报 403 时,回查 rclone 配置中的用户名是否与所改用户一致。
升级前必做的三件事 ⚠️:避免再次被权限变更卡住
- 备份 AList 数据目录与配置,出问题可快速回退到 3.40.0。
- 通读升级日志,重点标记涉及「权限」「WebDAV」的条目。
- 升级后清点所有依赖 WebDAV 的客户端账号(rclone、NAS 文件管理器、影视刮削工具等),逐一授予对应的读取或写入权限。
收尾:这次变更换来了什么
权限粒度细化后,管理员可以按用户控制谁能通过 WebDAV 列目录、上传、删除,而不是登录即全权放行。一次性的授权配置,换来的是可控的 WebDAV 访问边界。
【免费下载链接】alist🗂️A file list/WebDAV program that supports multiple storages, powered by Gin and Solidjs. / 一个支持多存储的文件列表/WebDAV程序,使用 Gin 和 Solidjs。项目地址: https://gitcode.com/GitHub_Trending/al/alist
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考