Skip to content
GitLab
项目 群组 主题 代码片段
  • /
  • 帮助
    • 帮助
    • 支持
    • 社区论坛
    • 提交反馈
  • 登录
  • L large
  • 项目信息
    • 项目信息
    • 动态
    • 标记
    • 成员
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者统计
    • 分支图
    • 比较修订版本
  • 议题 21
    • 议题 21
    • 列表
    • 看板
    • 服务台
    • 里程碑
  • 合并请求 12
    • 合并请求 12
  • CI/CD
    • CI/CD
    • 流水线
    • 作业
    • 产物
    • 计划
  • 部署
    • 部署
    • 环境
    • 发布
  • 软件包与镜像库
    • 软件包与镜像库
    • 软件包库
    • 容器镜像库
    • Terraform 模块
    • 模型实验
  • 监控
    • 监控
    • 事件
  • 分析
    • 分析
    • 价值流
    • CI/CD
    • 仓库
  • Wiki
    • Wiki
  • 代码片段
    • 代码片段
  • 动态
  • 分支图
  • 创建新议题
  • 作业
  • 提交
  • 议题看板
收起侧边栏
  • 王权利
  • large
  • 议题
  • #933

Operation not permitted on chmod post-receive

Created by: kenips

I get this error when gitlab tries to create / update project:

Errno::EPERM (Operation not permitted - /home/git/repositories/project.git/hooks/post-receive):
  app/models/project/repository_trait.rb:51:in `chmod'
  app/models/project/repository_trait.rb:51:in `write_hook'
  app/models/project/repository_trait.rb:36:in `block in write_hooks'
  app/models/project/repository_trait.rb:35:in `each'
  app/models/project/repository_trait.rb:35:in `write_hooks'
  app/models/project/repository_trait.rb:78:in `update_repository'
  app/models/project_observer.rb:3:in `after_save'
  app/controllers/projects_controller.rb:60:in `block in update'
  app/controllers/projects_controller.rb:59:in `update'

Running diagnostic tells me that everything is fine and I'm sure that the user gitlab run as (me) can write to the folder

# bundle exec rake gitlab:app:status RAILS_ENV=production
Starting diagnostic
config/database.yml............exists
config/gitlab.yml............exists
/home/git/repositories/............exists
/home/git/repositories/ is writable?............YES
remote: Counting objects: 320, done.
remote: Compressing objects: 100% (251/251), done.
Receiving objects: 100% (320/320), 30.48 KiB, done.
Resolving deltas: 100% (93/93), done.
remote: Total 320 (delta 93), reused 0 (delta 0)
Can clone gitolite-admin?............YES
UMASK for .gitolite.rc is 0007? ............YES

Finished

If I manually run chmod I get the same result, since I am only part of the group 'git' and not owner of the file.

# chmod 775 /home/git/repositories/project.git/hooks/post-receive
chmod: changing permissions of `/home/git/repositories/project.git/hooks/post-receive': Operation not permitted

So am I missing something? Or should gitlab not be running chmod as me?

指派人
分配到
工时统计