在生产服务器上拒绝Git存储权限

问题描述 投票:1回答:1

我试图使用'deploy'用户在生产服务器上执行git stash,但由于

/usr/lib/git-core/git-stash: 440: cannot create /app/app_name/.git/logs/refs/stash: Permission denied

该错误不会针对“ root”用户显示。

错误的原因可能是什么?如何解决?

git git-stash
1个回答
0
投票

这取决于您如何创建存储库。
尝试使用git init --shared创建的git init --shared ,以使同一组的多个用户能够访问和写入您的仓库。

--shared[=(false|true|umask|group|all|world|everybody|0xxx)]

指定要在多个用户之间共享Git存储库。
这允许属于同一组的用户推入该存储库。 指定后,设置配置变量“ core.sharedRepository ”,以便使用请求的权限创建$GIT_DIR下的文件和目录。
如果未指定,则Git将使用umask(2)报告的权限。

您可以在“ 在许多帐户中使用不带Sudo的Git ”中找到更多信息。

对于当前的存储库,请确保deploy有权访问/app/app_name/.git

OP rtcoms 确认

root用户拥有3个文件。 它确实起作用。

© www.soinside.com 2019 - 2024. All rights reserved.