002 · Gitea 裸库 clone 报 dubious ownership
问题现象
宿主机执行 git clone /data/gitea/git/repositories/<owner>/<repo>.git ... 时:
fatal: detected dubious ownership in repository at '/data/gitea/git/repositories/...'。
排查过程
- 确认仓库目录属主为容器内 Git 用户,与当前执行用户不一致。
- 查阅 Git 2.35+ 对跨属主仓库的限制说明。
根因
安全策略:在非信任属主路径下仓库默认拒绝操作;Gitea 数据目录常为 git/1000 属主。
改进计划
- 在执行构建/Pull 的账号下:
git config --global --add safe.directory '/data/gitea/git/repositories/<owner>/<repo>.git'(可多行)。 - Webhook systemd 中非交互环境同样需要该配置 + 合理
HOME(见工单014)。
经验教训
脚本化 git pull 前先列「safe.directory 是否覆盖所用路径」;避免仅在交互 shell 手动成功而服务失败。