Outils pour utilisateurs

Outils du site


logiciel:linux

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
logiciel:linux [2011-05-16 18:16] – [Mercurial] lokbanilogiciel:linux [2011-05-16 20:14] – [Git] lokbani
Ligne 373: Ligne 373:
 == Ajouter un utilisateur == == Ajouter un utilisateur ==
  
-Demander à l'usager de vous envoyer une clé publique ssh (voir plus haut pour la création). Ajouter le fichier de la clé dans un sous-répertoire du répertoire keys sous le nom $usager. Dire à hg qu'il y a un nouveau fichier, commettre les changements et les pousser sur le serveur. +Demander à l'usager de vous envoyer [[:logiciel:linux#cle_ssh_pour_l_administration1|une clé publique ssh]]. Ajouter le fichier de la clé dans un sous-répertoire du répertoire keys sous le nom $usager. Dire à hg qu'il y a un nouveau fichier, commettre les changements et les pousser sur le serveur. 
  
 <code>hg add <code>hg add
Ligne 392: Ligne 392:
 == Le fichier access.conf == == Le fichier access.conf ==
  
-Une description des différentes options du fichier access.conf se trouve  [[http://dev.lshift.net/paul/mercurial-server/docbook.html#id3886283]|ici].+Une description des différentes options du fichier access.conf se trouve [[http://dev.lshift.net/paul/mercurial-server/docbook.html#id3886283|ici]].
  
 Attention: Lorsque le fichier access.conf est modifié, il doit être commit et repoussé sur le serveur.  Attention: Lorsque le fichier access.conf est modifié, il doit être commit et repoussé sur le serveur. 
Ligne 415: Ligne 415:
   * user=glob: chemin (à partir de keys) menant à une ou plusieurs clés    * user=glob: chemin (à partir de keys) menant à une ou plusieurs clés 
  
-Les expressions glob pour les chemins utilisent * pour représenter un ou plusieurs caractères excluant le /, et \** pour représenter un ou plusieurs caractères incluant le /. Donc, par exemple, repo=labs/* attrape les dépôts labs/aaaa et labs/bbbb mais pas labs/cccc/dddd, alors que repo=labs/\** les attrape tous. +Les expressions glob pour les chemins utilisent * pour représenter un ou plusieurs caractères excluant le /, et %%**%% pour représenter un ou plusieurs caractères incluant le /. Donc, par exemple, repo=labs/* attrape les dépôts labs/aaaa et labs/bbbb mais pas labs/cccc/dddd, alors que repo=labs/%%**%% les attrape tous. 
  
 Par exemple, les trois règles pour les groupes prédéfinis sont  Par exemple, les trois règles pour les groupes prédéfinis sont 
Ligne 442: Ligne 442:
  
  
 +==== Git ====
  
 +Le logiciel [[http://git-scm.com/|Git]] utilise une gestion décentralisée.
  
 +Au cours de ce document, **$lab** doit être substitué par le nom du laboratoire et **$gitadmin** par le nom de l'usager administrateur créé par le DIRO au moment de la création de la zone de dépôts pour le laboratoire (habituellement git suivi du nom du lab). 
 +
 +=== Préparation ===
 +
 +== Clé ssh pour l'administration ==
 +
 +Faire parvenir votre clé ssh publique pour vous donner l'accès aux fichiers de gestions des dépôts de votre laboratoire. Si vous n'en avez pas déjà une, dans un terminal, utliser la commande 
 +
 +<code>ssh-keygen -b 1024 -t dsa</code>
 +
 +et faite retour de chariot aussi souvent que nécessaire pour accepter toute les réponses par défaut. Ensuite, envoyez le fichier .ssh/id_dsa.pub au DIRO. 
 +
 +== Récupération du répertoire des fichiers de configurations ==
 +
 +Dans un terminal, utilisez la commande 
 +
 +<code>git clone $gitadmin@version.iro.umontreal.ca:gitolite-admin.git</code>
 +
 +pour importer une copie de travail du répertoire des fichiers de gestion. Le répertoire a cette structure: 
 +
 +
 +   * conf/gitolite.conf: contient les groupes d'utilisateurs et les règles d'accès. 
 +   * keydir/: répertoire contenant les clés ssh publiques des utilisateurs. 
 +
 +
 +
 +=== Gestion ===
 +
 +== Ajouter un utilisateur ==
 +
 +Demander à l'usager de vous envoyer [[logiciel:linux#cle_ssh_pour_l_administration2|une clé publique ssh]]. Ajouter le fichier de la clé dans le répertoire keydir sous le nom $usager.pub. Dire à git qu'il y a un nouveau fichier, commettre les changements et les pousser sur le serveur. 
 +
 +<code>
 +git add keydir
 +git commit -m "ajout usager $usager"
 +git push origin master
 +</code>
 +
 +== Le fichier conf/gitolite.conf ==
 +
 +La description complète du fichier conf/gitolite.conf se trouve [[http://sitaramc.github.com/gitolite/doc/gitolite.conf.html|ici]].
 +
 +**Attention:** Lorsque le fichier conf/gitolite.conf est modifié, il doit être commit et repoussé sur le serveur. 
 +
 +<code>
 +git add conf/gitolite.conf
 +git commit -m "Modifications configurations..."
 +git push origin master
 +</code>
 +
 +== Gestion des groupes d'utilisateurs ==
 +
 +Ajouter, dand le fichier conf/gitolite.conf, des lignes comme celle-ci: 
 +
 +<code>
 +@groupe1 = $usager1 $usager2 ...
 +</code>
 +
 +== Gestion des règles d'accès et création de dépôts ==
 +
 +Pour chaque dépôt, il doit exister dans le conf/gitolite.conf un bloc 
 +
 +<code>
 +repo $nom_repo
 +      RW+= @admin
 +      RW   = @contrib $usager5 ...
 +      R    = @all
 +</code>
 +
 +où les permissions sont R (read), W (write) et + (rewind, i.e. non-fast forward push). Le groupe @all est un groupe spécial qui inclut automatiquement tous les usagers dont la clé est valide. On peut donner des permissions spécifiques à une branches en la nommant, i.e. RW branch$ = @groupe.. 
 +
 +Lors du push, tous les dépôts nommés dans le fichier seront créés s'ils n'existent pas encore. 
 +
 +=== Utilisation ===
 +
 +== Clonage d'un dépôt ==
 +
 +<code>git clone $gitadmin@version.iro.umontreal.ca:$reponame.git</code>
  
-==== Git ==== 
  
-  - [[http://git-scm.com/|Git]]: la gestion est décentralisée. 
  
 ===== Logiciels disponibles au DIRO ===== ===== Logiciels disponibles au DIRO =====
logiciel/linux.txt · Dernière modification : 2020-01-08 21:42 de royjuli