我有一个问题好几天都无法解决,它让我苦恼于可能出现的问题。
我已经在 Centos 7 机器上设置了 git 服务器。我还通过 https 设置了 git。 一切工作正常。我创建了后接收钩子(Hook)来检查路径/到/repo,但是当我尝试推送到远程服务器(Centos)时,我收到以下错误。
remote: fatal: Could not switch to 'path/to/repo' : Permission denied.
我已经尝试了所有更改权限的方法,所有者将 0777 给了存储库以及路径/到/存储库文件和文件夹,但没有成功。
有趣的是,我在我的机器上使用 git 服务器设置了一个虚拟机,以便在投入生产之前先对其进行测试,并且在更改权限后工作正常,没有任何问题。
但是当我以与我相同的方式设置生产时
remote: fatal: could not switch to /path/to/repo: Permissions Denied
使用 root 用户和测试用户进行测试,并具有 0777 的权限,看看它是否可以更改所有者组(test、root、apache),但没有成功。我什至重新启动了服务器。
就像权限没有改变
有人知道可能是什么问题吗?
谢谢。
最佳答案
解决了。
尝试一切后发现问题出在/home/user 目录的权限上。通过更改它的工作方式,只有 root 拥有对主目录的权限。只需将其他人的 +x 添加到用户的主目录中即可 repo 协议(protocol)正在 push (0701)它有效。
关于git - git 通过 https 推送到远程服务器时出错 fatal error 无法切换到 :permission denied,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37481044/