# 审计 — 未设路径推送回退 /www/wwwroot ## 范围(文件清单) | 文件 | 变更 | |------|------| | `server/utils/posix_paths.py` | `resolve_push_target_path`、默认 `/www/wwwroot` | | `server/application/services/sync_engine_v2.py` | 推送/预览使用 resolve | | `scripts/verify_push_elevation.py` | 验证脚本对齐 | | `scripts/batch_detect_target_path.py` | 批量 detect-path | | `scripts/batch_detect_target_path.sh` | 包装入口 | | `tests/test_posix_paths.py` | unset UI 与 push 回退分离单测 | ## Step 3 规则扫描 | H | 规则 | 结论 | |---|------|------| | H1 | 未改 `is_unset_target_path` UI 判定 | PASS | | H2 | 推送 override 仍优先 | PASS — resolve 先 override | | H3 | 路径校验仍走 normalize_remote_abs_path | PASS | ## Closure | H | 判定 | 依据 | |---|------|------| | H1 | PASS | is_unset_target_path 未动 | | H2 | PASS | resolve_push_target_path | | H3 | PASS | posix_paths.py | ## DoD - [x] pytest test_posix_paths - [x] changelog 2026-06-11-push-default-wwwroot.md - [x] batch_detect_target_path.sh ## 验证 ```bash pytest tests/test_posix_paths.py -q bash scripts/batch_detect_target_path.sh --unset-only --dry-run ```