1 votes

Installer git pour l'utiliser dans un système multi-utilisateurs

J'ai besoin d'installer git sur un serveur Ubuntu qui sera partagé et accessible par plusieurs utilisateurs.

Je suppose que j'utiliserai git+ssh, donc chaque utilisateur aura un compte système, mais comment installer git et un dépôt pour que chaque utilisateur puisse pousser/tirer sur une IP locale ?

4voto

valberg Points 41

Je recommande d'utiliser gitolite pour gérer l'accès et les autorisations des utilisateurs.

La meilleure façon de le décrire est de citer le développeur :

Gitolite vous permet d'utiliser un seul utilisateur sur un serveur pour héberger de nombreux dépôts git et fournir un accès à de nombreux développeurs, sans avoir à leur donner de vrais identifiants sur ou Shell accès au serveur. La magie essentielle est l'accès pubkey de ssh et le fichier authorized_keys, et l'inspiration vient d'un ancien programme appelé gitosis.

Gitolite peut restreindre les personnes autorisées à lire (cloner/fetch) ou à écrire (push) dans un dépôt. Il peut également restreindre l'accès à une branche ou à une étiquette, ce qui est très important dans un environnement d'entreprise. Gitolite peut être installé sans nécessiter les permissions de l'administrateur, et sans autre logiciel que git lui-même et perl. Il possède également plusieurs autres fonctionnalités intéressantes décrites ci-dessous et ailleurs dans le répertoire doc/.

Voici quelques caractéristiques que j'aimerais personnellement mettre en avant :

  • Chaque utilisateur est obligé d'avoir une clé SSH, sinon il ne peut pas pousser vers le serveur.
  • Pas de comptes système - juste un utilisateur 'git' sur le serveur.
    • vous effectuez toutes vos interactions git avec votre serveur par l'intermédiaire de cet utilisateur
  • La configuration et l'ajout de clés SSH se font par l'intermédiaire d'un repo git !
    • par exemple lors de la création d'un repo, il suffit d'ajouter deux lignes à la configuration de gitolite, le nom du repo et qui a les permissions de lire/écrire dessus. commit et push, et vóila ! vous pouvez maintenant cloner votre nouveau repo vide en utilisant 'git clone ssh://git@your-domain.com/yournewrepo.git'.

Bonne chance

-víðir

3voto

Sean Reifschneider Points 10110

Une façon de procéder est de créer un groupe pour les utilisateurs "git" et d'ajouter tous les utilisateurs auxquels vous souhaitez donner accès à ce groupe. Vous pouvez utiliser la commande "groupadd" pour créer le groupe, puis j'édite simplement /etc/group pour modifier la liste des utilisateurs de ce groupe, séparés par des virgules. Je nomme généralement le groupe en fonction du projet, comme "newwebsite" plutôt que quelque chose comme "git". Par exemple, l'entrée du fichier /etc/group peut ressembler à ceci :

newwebsite:x:999:swarren,jafo,kyle,mlb

Maintenant, créez un répertoire pour contenir le dépôt git, par exemple "/var/git/newwebsite" : mkdir -p /var/git/newwebsite

Configurez les permissions sur ce répertoire pour inclure le groupe sticky bit :

chgrp newwebsite /var/git/newwebsite
chmod g+ws /var/git/newwebsite

Initialisez maintenant le référentiel dans ce répertoire avec :

cd /var/git/newwebsite
git init --bare --shared=group

REMARQUE : Ne remplacez pas "group" par votre groupe, il doit s'agir de la chaîne littérale "group".

Si l'erreur se produit, votre version de "git" ne supporte probablement pas l'option "--bare". Dans ce cas, supprimez l'option "--bare".

A ce stade, vos utilisateurs devraient être en mesure de consulter le référentiel avec :

git clone git+ssh://$USER@$HOST/var/git/newwebsite

1voto

user9517 Points 113163

Pour installer git sur Ubuntu

sudo apt-get install git-core

Pour savoir comment l'utiliser, consultez le site suivant este que j'ai trouvé une excellente référence.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X