啊~ 修改gitlab本地文件权限导致不能push、pull!千古罪人

4 篇文章 0 订阅
3 篇文章 0 订阅

1. 问题描述

啊~ 修改gitlab本地文件权限导致不能push、pull!千古罪人,整个团队代码提交停滞0.5h,还好解决了

Connection reset by 192.xxx.xx.xx port 8222
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

GitLab: API is not accessible
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

GitLab: Failed to authorize your Git request: internal API unreachable
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

大吃一惊

大吃一惊2
大吃一惊3

2. 问题起因

兴高采烈:公司先前使用SVN,但是因为新开一个项目,作为GIT的力挺者,同时也是项目负责人,项目也开始用起了gitlab来进行对代码的托管,代码的审查,版本控制用起来也是得心应手,贼舒服~ 大家都其乐融融。

小插曲:但是,手贱的鄙人,把gitlab根的文件夹下所有文件,直接赋予了-R 777 权限,一开始觉得有权限比没权限好,但出事故后,想要拉代码,却发现自己竟然could not read!!。。
过了十分钟,团队里的小弟们就发现了这个问题(毕竟刚reviewer完代码,我就开始手贱,小弟们也准备拉 开发分支的代码合并到自己的分支 T_T)

开始救火:接着就开始定位问题,解决问题

3. 问题解决

小结:gitlab有自己的权限控制,不能再未熟悉的情况下,随便更改!否则就需要折腾一下,还好折腾成功了~
自己维护的gitlab是由docker创建的,首先进入docker之后,第一步是查看错误日志,接着是根据错误日志来进行定位问题,修复问题,最后重启~

3.1 执行pull,并查看错误日志

# 方法1:查看实时的错误信息,例如执行pull,gitlab反馈的错误是什么
# 进入docker所在gitlab
docker exec -it CONTAINER_ID bash
gitlab-ctl tail 
# 方法2:docker进入gitlab,连接到正在运行中的gitlab
docker attach CONTAINER_ID

查看错误日志

3.2 对pub key设置低权限

 find / -name ssh_host_rsa_key  # 找到某个pub key
# 将当前的pub key进行逐一的降权 600

公钥都设置为600

3.3 使用gitlab-ctl进行修复

gitlab-ctl reconfigure

估计第2步也是可以通过这个命令解决~

在这里插入图片描述

3.4 重启gitlab

gitlab-ctl restart

感慨

虽然目前的托管的服务机只是临时搭建的测试机子,再公司了解了GIT的好处后,也开始偏向GIT的使用,也准备加购超大服务器来作为正式的托管服务器;

但想想自己的操作,这种直接将根目录的 “完全放权” 真的挺危险~ 各位兄台还是把本文当做反面例子,虽然解决了,还得好好反思自己。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值