0

我创建了一个用户名 git。这是密码文件:

git:x:1001:1001:git:/home/git/test.git:/bin/bash

然后创建了一个名为“test.git”的裸仓库。完整路径是“/home/git/test.git”。

如果我像下面那样添加遥控器,它将起作用:

git add remote origin git@abc.com:./

但我想知道下面是否可行?我需要在 git 中添加一些设置吗?

git add remote origin git@abc.com
4

1 回答 1

1

目前尚不清楚您为什么要按照您的建议设置服务器 - 这当然不正常。

git 作为 bash 用户是不安全的

如果您将 git 配置保留在问题中,那么您仅依靠信任,任何以 git 身份访问的人都不会执行以下操作:

ssh git@abc.com
cd ..
ls -la // have a look
rm -rf test.git // delete git repo
cd / // go have a hack around
etc.

以正常方式进行

设置一个 git 服务器很容易——几乎是微不足道的。

如果你更新你的passwd文件,它看起来像这样:

git:x:1001:1001::/home/git:/usr/bin/git-shell

那么用户 git 除了执行 git 命令外,什么也做不了。

因此,你会这样做:

git add remote origin git@abc.com:test.git
git pull // etc

git shell 是安全的

对于将 git-shell 作为登录 shell 的用户,这些都不起作用:

ssh git@abc.com

git remote add another git@abc.com:another.git
git push another // attempting to create a new repo

etc.

它让您做的唯一一件事就是有效地拉动并推送到遥控器。

于 2012-09-18T11:13:29.007 回答