Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/03/2007, à 10:51

Jackovson

Utiliser les utilisateurs système avec SVN

Bonjour,

Je suis toujours en train de monter un serveur de développement basé sur Ubuntu 6.00 LTS.
Je viens d'installer SVN, et je voudrais pouvoir utiliser les utilisateurs système pour se connecter (s'authentifier) plutôt que des créer des utilisateurs virtuels comme ça semble être indiqué un peu partout (dont la doc sur le wiki).

Est ce que c'est possible ? big_smile

Merci d'avance.

Hors ligne

#2 Le 24/03/2007, à 02:37

bobe

Re : Utiliser les utilisateurs système avec SVN

Oui, il suffit de passer par ssh.

svn checkout svn+ssh://yourdomain.org/var/lib/svn/nom_du_depot

Mais vous risquez alors d’être embêté par les droits d’accés en écriture sur le dépôt.
En effet, les dépôts sont la propriété de l’utilisateur 'svnowner'. Donc il faut:

1/ Créez un groupe. Par exemple 'svngrp'. Ou un groupe par dépôt si vous en avez plusieurs et que les utilisateurs d’un dépôt ne doivent pas forcément pouvoir accéder en écriture à un autre dépôt du même serveur.

# addgroup svngrp
# adduser utilisateur1 svngrp
# adduser utilisateur2 svngrp
...

Modifier le groupe des fichiers du dépôt, donner le droit d’écriture au groupe et activer le setgid sur le rep 'db' du dépôt et ses sous répertoires :

# chgrp -R svngrp /var/lib/svn/nom_du_depot
# chmod -R g+w /var/lib/svn/nom_du_depot
# find /var/lib/svn/nom_du_depot/db/ -type d -exec chmod g+s {} \;

Dernier point, les fichiers créés dans le dépôt par subversion doivent avoir les droits en écriture pour le groupe. Il faut donc que le umask soit positionné à 0002:

# mv /usr/bin/svnserve /usr/bin/svnserve.orig
# vi /usr/bin/svnserve

Le nouveau script svnserve doit contenir ceci:

#!/bin/sh
umask 0002
/usr/bin/svnserve.orig "$@"

Enfin, donnez les droits d’exécution sur ce script.

Non testé mais je pense qu’il ne manque rien.
Il y a d’autres solutions à creuser si les utilisateurs se connectent avec une paire de clés.

http://svnbook.red-bean.com/nightly/en/svn.serverconfig.svnserve.html#svn.serverconfig.svnserve.sshauth

Au lieu de passer par plusieurs comptes système, il est possible de n’en utiliser qu’un avec accés par système de clés et différenciation de l’utilisateur sur son identifiant user@hostname. Voir les exemples à la fin de la page que je donne, la partie "Controlling the invoked command".

Hors ligne