Subversion Tagging e Segurança

votos
3

Tenho criado um repositório SVN do zero, e eu tenho marcado com sucesso alguns dos meus lançamentos usando o comando de cópia SVN.

Eu usei o plugin de autenticação SSPI para apache, para que os nossos desenvolvedores só apertar o servidor com suas credenciais de rede, e tudo funciona bem.

Eu criei um arquivo de autorização AuthZ, acrescentou nossos desenvolvedores a grupos no arquivo, e concederam-lhes acesso de gravação para a raiz. Eu também concederam usuários anônimos acesso somente leitura à raiz.

Eu, então, bloqueado o / svn / diretório com: Exigir-grupo CORP \ CKAN0BlahBlah

Isso limita efetivamente novos desenvolvedores no grupo de segurança para acesso somente leitura até que eles têm acesso através do arquivo de configuração aAuthZ.

Agora, eu tenho um par de perguntas:

  1. O que é a maneira correta (que não seja o sistema de honra) para impedir que os usuários cometer alterações a qualquer um dos tags diretórios?

  2. É possível usar SSPI para passar os membros dos grupos de AuthZ, em vez de listar os membros individualmente no arquivo de configuração?

Publicado 19/05/2009 em 19:35
fonte usuário
Em outras línguas...                            


5 respostas

votos
6

1 - Você pode usar o pré-commit gancho para prevenir commits, ver SVN pre-commit gancho para evitar alterações nas Marcações subdiretórios .

EDIT: Para fazer isso no Windows, tente o seguinte:

Salve como um arquivo chamado pré-commit.bat na pasta ganchos de sua 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

Note-se, isso vai impedir de cometer a qualquer caminho no repositório que contém a substring etiquetas . Modificar de acordo com suas necessidades.

Respondeu 19/05/2009 em 19:41
fonte usuário

votos
3

Para Questão # 1 , eu desenvolvi para isso:

@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

Agarrou a ferramenta grep de http://sourceforge.net/projects/unxutils


Para Pergunta nº 2 , a resposta é não, você não pode verificar contra grupos de segurança AD no arquivo AuthZ configuração.

Obrigado por sua ajuda, todos.

Respondeu 19/05/2009 em 21:07
fonte usuário

votos
2

Não há nenhuma maneira "adequada". Tags são uma convenção e os desenvolvedores devem aprender e segui-lo. Exceto que, uma falha de segurança pode ser implementado usando ganchos Subversion. Veja esta página para um bom tutorial.

Respondeu 19/05/2009 em 19:43
fonte usuário

votos
1

Isto parece-me ser uma questão de educação e processo. Se seus desenvolvedores a entender o propósito de suas tags SVN, parece muito menos provável que você vai ter pessoas (intencionalmente) fazendo commits a um tag. O que eu encontrei para ser indispensável para comunicar esses processos de forma eficaz é até à data, a documentação escrita. Minha equipe usa um wiki para armazenar documentação sobre os nossos processos (especificamente, usamos MediaWiki ). A abordagem wiki parece tornar as coisas muito mais acessíveis e mais fáceis de manter-se atualizado do que algo como o armazenamento de versões de documentos do MS Office no SharePoint.

Respondeu 19/05/2009 em 19:49
fonte usuário

votos
0

Que tal usar o arquivo svn-auth para definir isso? isso ficaria assim:

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

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

[/tags]
<rest of groups> = r

Isso permitirá que os administradores de acesso de leitura e gravação para o diretório tags, mas ninguém mais. Eu não sei o auth plugin de SSPI, então talvez o meu exemplo fornecido não funciona em seu contexto.

Respondeu 14/01/2010 em 09:33
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more