Files
Nexus/docs/changelog/2026-06-21-server-transfer-dest-write-elevation.md
T
r 6859846b7c sync: 主项目全量同步(含 btpanel 一键登录回归修复与前端构建产物)
- bootstrap 失败恢复 SSH 临时登录回退
- ssh_bootstrap 真安装检测与 config 目录自愈
- axs Gitea 发布源切换为 https://axs.kuma1xn.vip
2026-07-08 23:52:40 +08:00

985 B
Raw Blame History

跨服务器直传:目标机写入提权

日期2026-06-21

摘要

直传(relay)在目标机写入时改用 remote_write_bytesSFTP 失败自动 sudo tee),与文件上传一致;修复目标目录无写权限时 500 且前端仅显示「操作失败」。

动机

生产日志:asyncssh.sftp.SFTPPermissionDenieddst_sftp.open(..., "wb");宝塔子机常见 www 目录需 sudo 写入。

涉及文件

路径 说明
server/application/services/server_file_transfer_service.py relay 写入/建目录提权
server/api/sync_v2.py relay 未捕获异常 → 502 + detail
frontend/src/composables/useServerFileTransfer.ts formatApiError 展示后端 detail

验证

pytest tests/test_server_file_transfer.py -q

传输页直传至 B 机 target_path 下目录;失败时应显示具体原因而非「操作失败」。

回滚

恢复裸 SFTP dst_sftp.open 并重启 API。