本文已迁移至我的个人技术博客:
请移步至上述链接查看最新版本,谢谢各位支持!
[旧版文章内容]
在前面的文章中,为大家介绍了如何自己架设一个git
服务器并建立一个名为git
的用户来进行所有的git
操作。
那么如果我们想限制git
用户,禁止其进行SSH
登陆进行操作,我们可以将git
用户的shell
换成git-shell
这个工具:
$ cat /etc/shells # see if `git-shell` is already in there. If not...
$ which git-shell # make sure git-shell is installed on your system.
$ sudo vim /etc/shells # and add the path to git-shell from last command
我们看到,首先需要找到git-shell
的安装位置,如果没有被添加在/etc/shells中,我们需要手动将其添加进去(通常git-shell
在/usr/bin/git-shell
中)。
接下来,我们就可以把默认的shell
替换成git-shell
了:
$ sudo chsh git -s $(which git-shell)
现在,git
用户只能使用SSH
连接来进行push
和pull
,而不能用来登陆服务器了。
$ ssh git@gitserver
fatal: Interactive git shell is not enabled.
hint: ~/git-shell-commands should exist and have read and execute access.
Connection to gitserver closed.