审计 — 文件管理上传后自动 www 权限
范围(文件清单)
| 文件 |
变更 |
server/utils/files_upload_permissions.py |
解析 RSYNC_PUSH 配置,SSH chown/chmod |
server/api/sync_v2.py |
_sftp_upload_one 上传后 fixup + 响应/审计 |
frontend/src/composables/files/useFilesActions.ts |
权限修正失败 warning |
tests/test_files_upload_permissions.py |
解析与 apply 单测 |
Step 3 规则扫描
| H |
规则 |
结论 |
| H1 |
复用推送权限配置,不硬编码 |
PASS — RSYNC_PUSH_CHOWN/CHMOD |
| H2 |
上传成功不因 fixup 失败回滚 |
PASS — 仅返回 permission_fixup.error |
| H3 |
命令注入防护 |
PASS — _RSYNC_*_RE + shlex.quote |
| H4 |
CUD 审计 |
PASS — audit_detail 含 chown/chmod |
Closure
| H |
判定 |
依据 |
| H1 |
PASS |
upload_permission_plan() |
| H2 |
PASS |
sync_v2 不 raise on fixup fail |
| H3 |
PASS |
sync_engine_v2 校验 + quote |
| H4 |
PASS |
_audit_sync("file_upload", ...) |
DoD
验证
文件页上传 → 远端 ls -la 为 www www;sudo 白名单不足时界面 warning、文件仍保留。