2010-06-24 3 views
1

J'ai configuré un serveur SVN sur mon compte d'hébergement. Les utilisateurs peuvent s'enregistrer et sortir, mais ils ont accès à tout mon dépôt.Groupes d'utilisateurs et autorisations SVN

Pour donner aux gens l'accès, je délivre aux utilisateurs une clé publique à mon compte, puis-je ajouter une ligne dans mon dossier « authorized_keys » dans mon ~/.ssh qui ressemble à ceci:

command="/home/user/packages/bin/svnserve -t -r /home/user/repository --tunnel-user=diogo",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa [KEY DATA IN HERE]== [email protected] 

Les utilisateurs peuvent puis la caisse de mon sever à travers un tunnel comme ceci:

svn+ssh://host.com/project/trunk 

ma question est de savoir comment puis-je limiter certains utilisateurs d'avoir accès à certains projets?

Répondre

1

Vous utilisez un tunnel SSH. Si je lis le svn book correctement, vous devez définir les autorisations sur le référentiel fichiers eux-mêmes pour l'utilisateur que vous vous connectez comme, mais vous pouvez également bloquer les utilisateurs directement dans le fichier de configuration:

Lors de l'exécution sur un tunnel , l'autorisation est principalement contrôlée par les autorisations du système d'exploitation sur les fichiers de base de données du référentiel; c'est à peu près la même chose que si Harry accédait au dépôt directement via un fichier: /// URL.

Si plusieurs utilisateurs du système accèdent directement au référentiel, vous pouvez les placer dans un groupe commun et vous devez faire attention aux masques d'accès. (Assurez-vous de lire la section intitulée « Soutenir l'accès au référentiel multiples méthodes ».)

Mais même dans le cas de l'effet tunnel, le fichier svnserve.conf peut encore être utilisé pour bloquer l'accès, en réglant simplement auth-access = lire ou auth-access = aucun.

(De « l'authentification SSH et autorisation »)

Par ailleurs, vous dites que vous faites cela sur votre compte d'hébergement. J'ai essayé cela une fois, mais j'ai dû abandonner parce que je n'avais pas le droit d'ajouter de nouveaux utilisateurs SSH. Si vous ne pouvez pas ajouter de comptes d'utilisateurs SSH, vous ne pouvez pas effectuer d'authentification fine via un tunnel: les utilisateurs auront toujours un accès complet au repo. Pour utiliser l'authentification multi-utilisateur indépendamment de SSH, vous devez intégrer svn à Apache, ce qui est généralement impossible dans un environnement partagé.

J'ai fini par basculer vers un petit serveur virtuel Windows et installer le wrapperde Brain-dead easy svn. Cela coûte de l'argent (environ 20 €/mois, j'ai vu des serveurs virtuels basés sur Linux à partir de 10 $) mais j'en suis content depuis. (Bien sûr, vous pouvez simplement utiliser Linux et configurer svn avec Apache, ce que VisualSVN fait aussi en interne.)

+0

Mon compte d'hébergement est via hostmonster, donc ils ne fournissent qu'un seul login utilisateur, donc je ne pourrai pas pour définir les autorisations utilisateur sur les fichiers car il n'y a qu'un seul utilisateur. Y a-t-il un autre moyen, ou peut-être un moyen d'ajouter de nouveaux utilisateurs? Merci – Martin

+0

@Martin heh, quelle coïncidence :) consultez ma mise à jour. –

+0

@Martin Je ne pense pas qu'il existe un moyen d'ajouter de nouveaux utilisateurs si votre fournisseur ne vous le permet pas. Ce sont des comptes d'utilisateurs au niveau du système. –

Questions connexes