我按照该教程 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用户来执行的吗?
Oui. Le hook n'a pas besoin de passer par le processus de connexion utilisé par les humains.
Votre configuration est effectuée par l'utilisateur git (votre adresse de connexion ssh est git@....).
Cependant, il n'est pas recommandé de le configurer de cette façon, car il n'y a aucune raison de le configurer de cette façon... Si vous souhaitez le configurer vous-même, si vous l'utilisez seul, utilisez simplement votre propre compte sur le serveur. Si plusieurs personnes l'utilisent, utilisez simplement gitolite.