Git禁止客户端shell登录

Git禁止客户端shell登录

第一步:

给 /home/git 下面创建git-shell-commands目录,并把目录的拥有者设置为git账户。可以直接用git账号登录服务器终端操作。

1
2
$ su git
$ mkdir /home/git/git-shell-commands

第二步:修改/etc/passwd文件

1
2
3
4
5
6
7
8
9
# 找到这句, 注意1000可能是别的数字
git:x:1000:1000::/home/git:/bin/bash

# 改为:
git:x:1000:1000::/home/git:/bin/git-shell

# 最好不要直接改,可以先复制一行,然后注释掉一行,修改一行,保留原始的,这就是经验!!!
# vim快捷键: 命令模式下:yy复制行, p 粘贴 0光标到行首 $到行尾 x删除一个字符 i进入插入模式
# 修改完后退出保存: esc进入命令模式, 输入::wq! 保存退出。

此时我们就不用担心客户端通过shell登录,只允许使用git-shell进行管理git的仓库