2013-02-25 2 views
4

Я хочу предоставить доступ для совершения доступа к нескольким другим людям, каждый из которых имеет свой собственный репозиторий git на моем сервере Linux.Предоставление пользователям Linux доступа git, но не доступ к оболочке?

Один из способов сделать это будет:

foreach user x 
    adduser x 
    create /home/x/repo.git 
    ask user x to clone from ssh://myserver.com/home/x/repo.git 

Однако это имеет нежелательный эффект, который они могли бы также подключиться через SSH. Я не хочу давать им доступ к оболочке.

Есть ли способ настроить его аналогичным образом, но просто дать им доступ к git-фиксации, а не доступ к оболочке?

+0

Привет, ребята, как насчет того, чтобы мы переместили этот вопрос на еще один сайт stackexchange и разрешить ему открывать больше ответов? –

ответ

12

Комплект /usr/bin/git-shell как их оболочка в /etc/passwd.

Или использовать собственный протокол git вместо ssh.

3

Используйте Gitolite (Gitkeeper) для управления доступом к вашим хранилищам git.

В противном случае вы должны установить chroot.

3

Вы можете установить оболочку входа пользователя в git-shell (поставляется с git), которая представляет собой «ограниченную оболочку входа для доступа к SSH только для Git». Это позволит пользователям использовать git push и git pull, как обычно, но не позволит им войти в систему. Инструкции по настройке можно найти в нижней части этой страницы: http://git-scm.com/book/ch4-4.html

Смежные вопросы