首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git从CGI-Script中拉出,脚本由'nobody‘运行

git从CGI-Script中拉出,脚本由'nobody‘运行
EN

Stack Overflow用户
提问于 2013-09-23 17:05:11
回答 1查看 605关注 0票数 0

我在set服务器(Apache)上有一个git存储库,它设置在用户a的主目录中。

代码语言:javascript
复制
git clone ssh://a@git_url:7999/path/to/repository/repo.git

git存储库托管在stash-server上。认证通过用户a的ssh密钥工作。

现在,我正在尝试构建一个CGI脚本,它显示了该存储库上git log的一些摘录。这很有效,但我似乎无法在CGI脚本中运行git pull,因为它不是由用户a运行的,而是由用户nobody运行的。用户nobody没有权限读取由a克隆的git存储库的内容,也没有在存储服务器上设置ssh-key。

有没有一种方法可以从CGI脚本中运行git pull,使其“屏蔽”为用户a,以便能够拉入?

EN

回答 1

Stack Overflow用户

发布于 2016-07-19 23:34:15

你至少有三个选择。

  1. 创建nobody拥有的单独克隆。
  2. a拥有的克隆修改为assigned to a groupanobody都将cron作业作为a运行,以定期在存储库上运行git fetch。使存储库具有全局可读性。例如,您可能需要修改您的CGI程序,使其在origin/master而不是master下运行。

对于选项1和2,您需要安排nobody能够访问Stash。一种可能性是为nobody创建一个无密码(未加密)的SSH密钥,并将公钥添加到Stash以进行授权。这确实带来了一些风险:任何获得nobody密钥副本的人都可以轻松地做nobody能做的任何事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18955443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档