문제

SVN 저장소를 처음부터 설정했으며 SVN Copy 명령을 사용하여 일부 릴리스를 성공적으로 태그했습니다.

Apache 용 SSPI Auth 플러그인을 사용 했으므로 개발자는 네트워크 자격 증명으로 서버에 도달했으며 모든 것이 잘 작동합니다.

Authz Authorization 파일을 만들었고 개발자를 파일의 그룹에 추가했으며 루트에 대한 글을 쓸 수있었습니다. 또한 익명 사용자에게 루트에 대한 읽기 전용 액세스 권한을 부여했습니다.

그런 다음 / svn / 디렉토리를 다음과 같이 잠그었다 : require-group "corp ckan0blahblah"

이는 AAUTHZ 구성 파일을 통해 액세스 할 때까지 보안 그룹의 새로운 개발자가 읽기 전용 액세스로 효과적으로 제한합니다.

이제 몇 가지 질문이 있습니다.

  1. 사용자가 "태그"디렉토리의 변경을 촉구하지 못하도록하는 올바른 방법 (명예 시스템 제외)은 무엇입니까?

  2. 구성 파일에 멤버를 개별적으로 나열하지 않고 SSPI를 사용하여 그룹 구성원을 AuthZ로 전달할 수 있습니까?

도움이 되었습니까?

해결책 2

을 위한 질문 1, 나는 이것을 위해 개발했다 :

@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

Grep 도구를 잡았습니다 http://sourceforge.net/projects/unxutils


을 위한 질문 #2, 대답은 아니오입니다. Authz 구성 파일에서 AD 보안 그룹에 대해 확인할 수 없습니다.

여러분의 도움에 감사드립니다.

다른 팁

1- 사전 커밋 후크를 사용하여 커밋을 방지 할 수 있습니다. 태그 하위 디렉토리의 변경을 피하기위한 SVN 프리 커미트 후크.

편집하다: Windows 에서이 작업을 수행하려면 다음을 시도하십시오.

Repo의 Hooks 폴더에서 pre-commit.bat라는 파일로 저장하십시오.

@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

이렇게하면 하위 문자열이 포함 된 모든 저장소 경로에 대한 칭찬을 방지합니다. 태그. 귀하의 필요에 따라 수정하십시오.

"적절한"방법은 없습니다. 태그는 컨벤션이며 개발자는 배우고 따라야합니다. 이를 제외하고, 실패-안전은 전복 후크를 사용하여 구현할 수 있습니다. 보다 이것 멋진 튜토리얼을위한 페이지.

이것은 교육과 과정의 문제인 것 같습니다. 개발자가 SVN 태그의 목적을 이해한다면, 사람들이 (의도적으로) 태그에 커밋 할 가능성이 훨씬 적습니다. 이러한 프로세스를 효과적으로 전달하는 데 필수 불가결 한 것은 최신의 서면 문서입니다. 우리 팀은 위키를 사용하여 프로세스에 대한 문서를 저장합니다 (특히, 우리는 사용합니다. 미디어 위키). Wiki 접근 방식은 SharePoint에 버전의 MS Office 문서를 저장하는 것보다 훨씬 더 접근하기 쉽고 최신 상태를 유지하는 것으로 보입니다.

SVN-Auth 파일을 사용하여 정의하는 것은 어떻습니까? 이것은 다음과 같습니다.

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

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

[/tags]
<rest of groups> = r

이렇게하면 Admins가 태그 디렉토리에 대한 읽기 작성 액세스가 가능하지만 다른 사람은 없습니다. SSPI Auth 플러그인을 모르기 때문에 제공된 예제는 귀하의 상황에서 작동하지 않을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top