我按照该教程 http://www.liaoxuefeng.com/wi... 搭建了服务器,第五步,禁用了shell登录:
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
git: x :1001:1001:,,,:/home/git:/bin/bash
改为:
git: x :1001:1001:,,,:/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
那么,我的钩子脚本还可以执行吗?这里是不是说改成这样就不能在shell上操作了?
BTW, 钩子是由git用户来执行的吗?
可以。钩子又不需要走人类用的登录流程。
你这样配置是由 git 用户执行的(你的 ssh 登录地址是 git@....)。
不过不建议这么配置,因为没有这样配置的理由……要自己搭的话,如果一个人用,直接用自己在服务器上的账号就好了。多人使用的话,直接上 gitolite 就好了。