跳转至

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 手动成功而服务失败。