如何限制UNIX服务器上的某些用户只访问GIT命令?

时间:2014-01-30 07:01:42

标签: git shell unix ssh

如何限制UNIX服务器上的用户只访问GIT命令?我希望用户只能使用服务器从我放在服务器中的git存储库推送/克隆/拉取,但我不希望他们具有ssh或ftp到服务器的能力

2 个答案:

答案 0 :(得分:1)

将他们的登录shell设置为/usr/bin/git-shell

sudo chsh -s /usr/bin/git-shell <username>

有关详细信息,请参阅http://git-scm.com/book/ch4-4.html

答案 1 :(得分:0)

创建一组用户时。使用chgrp命令将/ opt / apps / start组更改为特定组:

# chgrp {groupName} {/path/to/command}

例如

# chgrp newgroup /opt/apps/start

禁用他人的文件权限

最后,使用chmod命令更改文件权限,如下所示:

# chmod 750 /path/to/command

例如

# chmod 750 /opt/apps/start

您还可以对目录应用权限(这将禁用对其他人的命令访问):

# chgrp appsonly /opt/apps
# chmod 0640 /opt/apps

测试

su到usr1,输入:

# su - usr1
$ id
$ /opt/apps/start
$ exit

su to usr2(不是appsonly组的成员),输入:

# su - usr2
$ id
$ /opt/apps/start

示例输出:

bash: /opt/apps/start: Permission denied

有关详细信息,请参阅以下链接.... Here