gpt4 book ai didi

linux - Git、Gitolite、部署和 Linux 权限

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:39:24 24 4
gpt4 key购买 nike

我有一个应用程序使用了一些模板文件,一些开发人员正在制作它们。

我发现维护模板的最佳方法是在 gitolite 上安装 git,并在正确的文件夹中创建一个 Hook 以在更新时自动 checkout 模板。

好吧,设置中的一切都已启动并运行良好,但我有一个安全问题。

模板由一个小型应用程序使用,该应用程序以名为 runtime 的用户运行,具有运行时组。Gitolite 使用另一个用户/组通常是 git:git 来管理存储库。

在 Hook 中,我必须将文件 check out 到运行时用户文件夹中,显然它不起作用。

我考虑将 git 组更改为与运行时相同的组,但我真的不知道这种解决方案是否存在安全问题或没有理由担心。

我不是安全专家,但我知道这里是完整的:)

非常感谢,大卫。

最佳答案

在我看来,您实际上并不想从 Hook 运行文件 checkout ,您只是想让 Hook 触发它们。 checkout 真的想作为 runtime 运行用户?

我可以想到几种方法来做到这一点,但没有一种听起来很棒:

  1. git 设置一个无密码的 ssh key 用户,所以它可以运行 ssh runtime@localhost ~runtime/doUpdates.sh ,并且所述脚本执行 fetchcheckout .
  2. 设置有限sudo对于 git用户以便它可以运行 sudo -u runtime ~runtime/doUpdates.sh .
  3. 设置有限sudo对于 git用户所以它可以 chown runtime:runtime -R checkout 操作的结果。

还有几个更糟糕的。 :)

关于linux - Git、Gitolite、部署和 Linux 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9353635/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com