Самый простой способ заключить пользователей в тюрьму за git
Я хотел бы создать пару учетных записей пользователей на моем сервере таким образом, чтобы пользователи могли просматривать определенный репозиторий git. В идеале пользователь не сможет получить доступ к оболочке или скопировать какие-либо файлы, кроме git-репо.
И в идеале это тоже не займет больше 3 минут:)
Я использую старую установку Gentoo.
2 ответа
Это можно сделать несколькими способами.
Если это относится только к git, вы можете установить gitolite и выполнять все действия ACL из репозитория gitolite-admin.
Настройте SFTP тюрьму с помощью SSH. Вы можете контролировать каждый бинарный файл, который вы хотели бы, чтобы пользователи использовали.
groupadd sftpusers useradd -g sftpusers -d /jailed netusers
Изменить файл SSHD: /etc/ssh/sshd_config
Subsystem sftp internal-sftp Match Group sftpusers ChrootDirectory /sftp/%u ForceCommand internal-sftp
А потом
mkdir /jailed/netusers chown netusers.sftpusers /jailed/netusers service sshd restart
Создайте виртуальную машину, предназначенную для таких пользователей, и установите git repo в качестве RO, чтобы никто ничего не мог изменить.
Наконец, что не менее важно, ни один из них не может быть сделан за 3 минуты. Я думаю, что это займет у вас 2-3 минуты, чтобы прочитать:-)
Я собираюсь предложить альтернативную вещь, так как вы сосредоточены на аутентификации и тянете: git обслуживается через HTTPS с базовой аутентификацией. Ограничивая HTTPS, вы предотвращаете открытое раскрытие паролей.
См. http://maymay.net/blog/2008/08/08/how-to-use-http-basic-authentication-with-git/ для получения дополнительной информации и просто добавьте базовую настройку SSL из любого другого учебного пособия.