1

我在我的 suse 盒子上创建了一个 ssh 服务器,基本上我只是希望它用作使用 ssh 的 git 服务器,但是当我使用 ssh name@server 登录时,我可以查看我的 home/repo 目录,这很正常,但我什至可以检查其他用户的文件,例如我不想要的 home/steve,如何将用户 repo 设置为只能访问 git 目录?说 home/repo/repository.git ?或者只是来自 /home/repo 的文件?

我已经从 Yast2-sshd 配置工具(基本上只是一个编辑 /etc/sshd/sshd_config 的工具)中禁用了“允许 Root 登录”,但这似乎还不够。

4

2 回答 2

1

如果您将用户的 shell 设置为 git-shell,他们只能运行 git 命令。

如果您不需要细粒度的权限,那么您不需要 gitolite 或类似的

于 2012-08-15T11:37:47.657 回答
0

ssh 太强大了,因为它允许交互式会话。
giZm0提到gitolite是一个授权层, 可以利用 ssh 提供的身份验证,并允许对您的存储库进行细粒度的访问控制。 它只是一个 perl 脚本,它可以在文件中设置自身以拦截任何 git 命令,并根据简单的文本配置文件验证它们。 这利用了 ssh 功能(与 git 无关),称为强制命令
~/.ssh/authorized_keys

注意:gitolite 也可以与 httpd 服务器链接:请参阅“为什么需要 Gitosis 或 Gitolite? ”或“ git on HTTP with gitolite and nginx ”了解更多信息。

于 2012-08-15T10:21:08.160 回答