我在论坛成员的帮助下,使用以下说明设置了git和gitolite:
https://github.com/sitaramc/gitolite
说明书中的一项要求是:
一个专用的
userid
来托管repos(在本文档中,我们假设它是"git
"),外壳只能由同一服务器上的其他userid
的"su - git
"访问。
下面显示的权限是否正确?
sudo chown git /home/git
sudo chmod -R 755 /home/git
或者是否有更合适的设置来提供必要的安全性和功能?
是和否:
对于/home/git
,如果您想要"更安全"的东西,700
也可以工作。
但是您不必以相同的方式保护git
homedir中的所有内容,尤其是.ssh
目录。
要点是避免/home/git
上的"+gw
"one_answers"+ow
":如果"group
"或"others
"是可写的,ssh将无法工作(ssh守护进程将拒绝考虑/home/git/.ssh
内容)
请参阅"为Gerrit和Hudson创建SSH密钥",作为适当SSH保护的示例。
我在Fedora上创建了Gitolite托管用户,如下所示。其他发行版在adduser命令中也有类似的选项
useradd
--comment ‘git hosting user’
--user-group
--system
--shell /bin/bash
--create-home
--home-dir /home/git git
在Fedora上,此命令创建一个本地密码锁定的系统帐户git。当没有提供--password选项时,useradd命令的默认选项是禁用密码。
据我所知,这将为托管用户提供一个交互式的非登录shell,如下所示:
sudo su - git
注意:这个问题是不久前提出的,但我在安装Gitolite时也有同样的问题(没有找到答案)。我想通了(我想大概是这样)。就是这样。