Ogni utente abilitato può creare repository in /users/nome.cognome/ e gestire in autonomia ulteriori abilitazioni. Attualmente non sono imposti dal sistema vincoli di occupazione di spazio o numero di repository, ma valgono le normali regole di civile convivenza, in particolare i repository non vanno usati per archiviare grossi file (video, musica, immagini, …). Gli amministratori effettueranno controlli e potranno sospendere l'accesso agli utenti che abusino del servizio.
Per prima cosa bisogna avere un utente abilitato.
Si inizia generando una chiave ssh, se non la si ha già:
ssh-keygen
Questo genera due file in ~/.ssh, normalmente id_rsa (chiave segreta) e id_rsa.pub (chiave pubblica). La chiave pubblica va spedita via mail da casella istituzionale a difa.csi@unibo.it (i non strutturati devono tenere in copia il referente) perché venga aggiunta alla lista degli utenti abilitati.
Nota Putty: se la chiave viene generata con PuTTYgen.exe (del pacchetto Putty per Windows) e viene utilizzata con OpenSSH, può essere necessario convertirla nel formato OpenSSH da PuTTYgen col comando Conversions, Export OpenSSH key.
Va poi aggiunta una sezione a ~/.ssh/config :
Host gitdifa
User gitolite3
hostname web1.difa.unibo.it
IdentityFile ~/.ssh/id_rsa
ForwardX11 no
È possibile avere più chiavi pubbliche abilitate per un singolo utente (p.e. una per il PC fisso ed un'altra per il portatile). Tutte le chiavi identificano un singolo utente: non c'è modo di dire “con questa chiave ho accesso in sola lettura a questo repository mentre con quest'altra accedo in scrittura”.
Una volta configurato il client, è possibile creare un proprio repository myrepo con:
git clone gitdifa:users/nome.cognome/myrepo
Sui propri repository è possibile gestire i permessi degli altri utenti.
ssh gitdifa perms -h