Ajout d'un utilisateur

Submitted by ptitoliv (non vérifié) on dim, 12/20/2009 - 02:48

Avec gitolite, tout fonctionne avec SSH et les clés. Ainsi la base de données des utilisateurs est présentée sous la forme d'une liste de clés SSH dans un répertoire versionnés dans le repositories gitolite-admin.

Nous allons donc ajouter un utilisateur gituser dans la base des utilisateurs gitolite.

Génération des clés SSH

La première étape est donc de générer l'utilisateur gituser en créant les clefs.

ptitoliv@workstations:~$ ssh-keygen -t rsa -b 1024
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ptitoliv/.ssh/id_rsa): gituser
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in gituser.
Your public key has been saved in gituser.pub.
The key fingerprint is:
03:4a:a9:c0:b0:ff:46:f5:b0:1d:a0:96:be:75:cd:89 ptitoliv@workstation
The key's randomart image is:
+--[ RSA 1024]----+
|. . |
|o. + . |
|o. * + . |
| o = o * = . |
| o + o E + |
| o o . . |
| + |
| . |
| |
+-----------------+
ptitoliv@debian-vm:~$

Insertion dans le repository gitolite-admin

Pour ajouter, l'utilisateur il suffit de copier la clé publique dans le répertoire keydir du repository local gitolite-admin. Ne pas oublier que le nom de la clé doit être au format "username".pub.

ptitoliv@workstation:~/gitolite-admin/keydir$ cp /home/ptitoliv/gituser.pub .
ptitoliv@workstation:~/gitolite-admin/keydir$ ls -l
total 8
-rw-r--r-- 1 ptitoliv ptitoliv 400 déc 20 02:39 gitoliteadm.pub
-rw-r--r-- 1 ptitoliv ptitoliv 228 déc 20 14:57 gituser.pub
ptitoliv@workstation:~/gitolite-admin/keydir$

On ajoute ensuite la clé dans le repository gitolite-admin :

ptitoliv@debian-vm:~/gitolite-admin/keydir$ git add gituser.pub
ptitoliv@debian-vm:~/gitolite-admin/keydir$ git commit -m "Ajout de l'utilisateur gituser"
Created commit e07bd81: Ajout de l'utilisateur gituser
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 keydir/gituser.pub

L'utilisateur est à présent "commité" dans le repository local gitolite-admin. Cependant il n'est pas encore présent sur le repository sur le serveur de référence. Il faur donc pusher la branche master du repository gitolite-admin sur le serveur de référence.

ptitoliv@workstation:~/gitolite-admin/keydir$ git push origin master
Counting objects: 6, done.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 569 bytes, done.
Total 4 (delta 0), reused 0 (delta 0)
To gitolite:gitolite-admin
d885d48..ced7b36 master -> master
Already on "master"
WARNING: pubkey gituser.pub exists but user gituser not in config

Les modifications ont donc été pushé sur le repository de référence. Côté serveur, les hooks ont été exécutés afin de prendre en compte ce nouvel utilisateur. On le voit très bien grâce au message de warning retourné par le hook.

Ce message est normal étant donné que nous n'avons déclaré aucune ACL pour cet utilisateur. Ceci est la prochaine étape.