如何为组可写存储库和SSH访问设置git用户?


0

我在Ubuntu 14.04 LTS上设置了一个Git服务器。我需要服务器支持SSH和HTTP协议。

到目前为止,我已按照Git Book中的说明使我的服务器支持SSH协议。

为了支持HTTP协议,我将pushover挂钩到我现有的Web服务器上。但是,由于Web服务器作为不同的用户运行,因此无法写入由“git”用户拥有的主存储库。所以我将我的Web服务器用户添加到“git”组,并做了一个chmod -R g+w /home/git并使HTTP协议工作。但是,通过这样做,我无意中破坏了对repos的SSH访问,因为OpenSSH不允许用户的主目录是可写组的。

我想到了一些解决这个问题的方法。

  1. 通过设置自定义AuthorizedKeysFile位置或通过设置更改全局SSH配置选项StrictModes no。我不想做其中任何一件事,因为这些更改会影响我的其他非git SSH用户。
  2. 从git用户的主目录中删除组写权限,然后编写一个脚本,手动将组写权限添加到新存储库。这可能会起作用,但它似乎不是一个非常优雅的解决方案。

有关如何构建我的文件系统以允许组可写的git存储库同时保持SSH访问的任何建议?


如何将存储库移出主目录?
Der Hochstapler 2015年

将repos移出主目录的主要问题是它弄乱了我现有的SSH检查。
sffc
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.