目前尚不清楚您为什么要按照您的建议设置服务器 - 这当然不正常。
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.
它让您做的唯一一件事就是有效地拉动并推送到遥控器。