Files
Nexus/docs/audit/2026-06-11-files-chmod-not-effective-fix.md
T

38 lines
1.1 KiB
Markdown
Raw Normal View History

# 审计 — 文件管理 chmod 不生效修复
## 范围(文件清单)
| 文件 | 变更 |
|------|------|
| `server/application/services/files_browse_service.py` | ETag 含 permissions/owner/group |
| `server/api/sync_v2.py` | chmod/chown 分步执行 |
| `frontend/src/components/FilePermissionDialog.vue` | 仅变更时提交 owner/group |
| `frontend/src/stores/files.ts` | 不继承旧 etag |
| `tests/test_files_browse_etag.py` | 权限变更 etag 测试 |
## Step 3 规则扫描
| H | 规则 | 结论 |
|---|------|------|
| H1 | 304 不返回过期权限 | PASS — ETag 含 permissions |
| H2 | chmod 不被 chown 连带失败 | PASS — 分步执行 |
| H3 | CUD 审计保留 | PASS — `_audit_sync` 未删 |
## Closure
| H | 判定 | 依据 |
|---|------|------|
| H1 | PASS | compute_browse_etag |
| H2 | PASS | sync_v2 chmod_file |
| H3 | PASS | audit_bits 仍在 |
## DoD
- [x] pytest 14 passed
- [x] type-check 通过
- [x] changelog
## 验证
文件页改 644→755 → 列表权限列更新;仅改 mode 不填 chown 时不发 owner 字段。