将git克隆用于共享主机上的网站(让存储库中的所有团队成员将最新的回购网站放到网站所在的服务器上)

问题描述:

我使用一个用于简单html网站的bitbucket存储库。我现在有一个服务器,该网站所在,我希望能够拉动更新网站,因此它代表最新的bitbucket回购。所以我通过SSH去服务器并克隆了回购。克隆它的用户当然可以拉动变化,但其他团队成员不能。我该如何解决这个问题?将git克隆用于共享主机上的网站(让存储库中的所有团队成员将最新的回购网站放到网站所在的服务器上)

+0

通过拥有一个专门的www用户,并将其用于这种活动,无论如何您都应该使用这种活动。 – eis

+0

你的意思是一个www用户在bitbucket回购?只是与团队分享密码? – SVARTBERG

+0

添加为答案... – eis

通过拥有一个专门的www用户并将其用于此类活动。 WWW用户,你应该有一个网站无论如何。如果可能,您可能只想向该用户添加读取权限,而不是推送权限。

你的意思是一个www用户在bitbucket回购?只是与团队分享密码?

不要共享密码,为团队成员提供www-user sudo访问权限。

具体步骤是我的建议:

  1. 创建到位桶用户,如“WWW的数据”
  2. ,如果你没有单独的WWW用户运行您的网站(安装Web服务器软件包管理应该已经为您创建了它,但是如果您手动安装了Web服务器,则可能是因为未完成此操作):在www服务器上创建用户帐户并将“www-data”分组,并将该用户配置为运行您的网站。用户也可能被称为“apache”或类似的,关键是它是一个只运行你的Web服务器的用户名。
  3. sudo -u www-data bash使用root用户和克隆(与您的网站的用户更换www数据在步骤2中说明)/配置到位桶式回购结算用户在步骤1中
  4. 创建你的团队成员添加到sudoers文件像userusername ALL=(www-data) /usr/bin/git,这将允许列出的用户名能够使用用户“www-data”并运行命令“git”(sudoers文件的语法在this thread中解释:每个用户在文件中获得他自己的行)
  5. 每当有人你的团队想要更新你的网站,他会去储存库文件夹并运行​​或类似(在this thread中更详细地讨论)

至于“为什么不创建一个到位桶的用户和同组共享”,你会得到this problem - 你的文件会被任何人会做结帐所拥有。如果你想这样做,你需要去那里提到的解决方案之一。我在这个答案中提出的方法是吸引更少的问题国际海事组织。

+0

对不起,我可能不明白。我们是在谈论bitbucket端还是关于ssh端?所有的用户已经完全ssh访问web根目录。 – SVARTBERG

+0

@SVARTBERG我不是在谈论web根,我是在谈论www用户。您知道,您用于运行您的网站的用户帐户。所以我说的是ssh端,尽管* ssh和bitbucket都应该有单独的用户。 – eis

+0

感谢您的回答。你有什么进一步的建议,我可以在哪里阅读关于如何设置? – SVARTBERG