Question

Je l'ai mis en place un dépôt SVN à partir de zéro, et je l'ai marqué avec succès certains de mes communiqués à l'aide de la commande de copie SVN.

J'ai utilisé le plugin auth SSPI pour apache, nos développeurs simplement sur le serveur avec leurs informations d'identification de réseau, et tout fonctionne bien.

J'ai créé un fichier d'autorisation AuthZ, a ajouté nos développeurs à des groupes dans le fichier, et je les ai accordé un accès en écriture à la racine. J'ai également accordé aux utilisateurs anonymes un accès en lecture seule à la racine.

Je puis verrouillé le / svn / avec: Exigent-groupe "CORP \ CKAN0BlahBlah"

Cela limite efficacement les nouveaux développeurs dans le groupe de sécurité d'accès en lecture seule jusqu'à ce qu'ils bénéficient d'un accès dans le fichier de configuration aAuthZ.

Maintenant, j'ai quelques questions:

  1. Quelle est la bonne façon (autre que le système d'honneur) pour empêcher les utilisateurs de commettre des modifications à l'un des répertoires "tags"?

  2. Est-il possible d'utiliser SSPI passer les membres des groupes à AuthZ, plutôt que la liste des membres individuellement dans la configuration fichier?

Était-ce utile?

La solution 2

Question # 1 , j'ai développé pour cela:

@echo off
SET SVNLOOK=C:\Program Files\CollabNet Subversion Server\svnlook.exe
SET GREP=D:\SVN\Repo\hooks\grep.exe
SET LOG=D:\SVN\Repo Logs.txt

>>"%LOG%" echo ==== commit %1 %2 ====
>>"%LOG%" "%svnlook%" changed -t %2 %1

("%svnlook%" changed -t %2 %1 | "%grep%" "^U.*/tags/") && (echo Cannot commit to tags.>&2 && exit 1)
("%svnlook%" log -t %2 %1 | "%grep%" "[a-zA-Z0-9]") || (echo You must specify a comment.>&2 && exit 1)

exit 0

Attrapé l'outil grep de http://sourceforge.net/projects/unxutils


Question # 2 , la réponse est NON, vous ne pouvez pas vérifier contre les groupes de sécurité AD dans le fichier de configuration AuthZ.

Merci pour votre aide, tout le monde.

Autres conseils

1 - Vous pouvez utiliser le crochet pre-commit pour éviter commits, voir SVN pre-commit hook pour éviter les modifications aux sous-répertoires balises .

Modifier Pour ce faire, sous Windows, procédez comme suit:

Enregistrer cela comme un fichier nommé pré-commit.bat dans le dossier crochets de votre repo:

@echo off
set REPOSITORY=%1
echo %REPOSITORY% | find /I "tags"
if errorlevel 1 goto done
echo You tried to commit to %REPOSITORY% >&2
echo Committing to tags is not allowed >&2
exit 1
:done

Remarque, cela empêchera commiting à tout chemin du référentiel qui contient la sous-chaîne balises . Modifier en fonction de vos besoins.

Il n'y a aucun moyen « approprié ». Les tags sont une convention et les développeurs doivent apprendre et suivre. Sauf que, un peut être mis en œuvre à sécurité en utilisant des crochets Subversion. Voir cette page pour un tutoriel bien.

Cela me semble être une question d'éducation et de processus. Si vos développeurs comprennent le but de vos balises SVN, il semble beaucoup moins probable que vous aurez des gens (intentionnellement) faisant commits à une balise. Ce que je trouve indispensable à la communication de ces processus est efficace à ce jour, la documentation écrite. Mon équipe utilise un wiki pour stocker des documents sur nos processus (en particulier, nous utilisons MediaWiki ). L'approche wiki semble rendre les choses beaucoup plus accessible et plus facile à tenir à jour que quelque chose comme le stockage des documents MS Office versionné sharepoint.

Que diriez-vous d'utiliser le fichier svn-auth pour définir cela? cela ressemblerait que:

[groups]
ADMINS=<your ID>
<rest of groups>=<all other IDs>

[/]
* = r
<rest of groups> = rw
@ADMINS = rw

[/tags]
<rest of groups> = r

Cela permettra aux ADMINS un accès en lecture-écriture au répertoire tags, mais personne d'autre. Je ne sais pas le plugin auth SSPI, alors peut-être mon exemple fourni ne fonctionne pas dans votre contexte.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top