2011-01-18 4 views
2

특정 사용자가 내 SVN 저장소의 특정 폴더에 액세스하는 것을 방지하고 싶습니다. 난 그냥 수행SVN의 authz 및 폴더 이름 바꾸기

[/] 
* = rw 

[/NewSecretFolder] 
* = rw 
some_poor_sap = 

그러나 폴더는 NewSecretFolder에 SecretFolder에서 무엇을 이름을 변경 한 경우? 사용자 some_poor_sap가/SecretFolder의 기록에 액세스 할 수 있습니까?

답변

2

예, 가능합니다. 당신은 필요한 곳에 필요한 사용자에 대한 액세스를

[/] 
* = 

을 그리고 허용해야합니다. 이것이 제가하는 방법입니다.

+2

우리는 이것 역시 시작했지만 이상한 문제가 발생했습니다. (http://stackoverflow.com/questions/4697052/svn-copy-causes-403-forbidden-in-reponse-to-propfind-other- actions-work/4697312 # 4697312)를'svn copy'로 바꾸십시오. 웬일인지 당신은 당신이 당신의 변경을하고있는 폴더에 대한 읽기 - 쓰기 권한뿐만 아니라'svn copy'를 사용하기 위해 적어도 루트까지 프로젝트의 모든 부모 폴더에 대한 읽기 접근 권한을 필요로합니다. –

+0

I 참조, 아마 난 그냥 아직 svn 복사본을 사용하지 않은, 정보도 주셔서 감사합니다 : - D 조 – BarsMonster

2

authz 파일 인증 메커니즘은 전적으로 경로 기반이며 개체가 다른 수정본에있을 수있는 다른 이름을 무시합니다. 따라서 특정 버전의 저장소에 액세스하면 해당 버전의 폴더 이름에 따라 권한이 적용됩니다. 나는 이러한 권한이있을 때

그래서 :

[/] 
* = r 

[/MyProject] 
* = 
devs = rw 

을 내가 MyRenamedProject에 프로젝트 이름을 변경, 나는이 같은 권한을 변경

여기
[/] 
* = r 

[/MyProject] 
* = 
devs = r 

[/MyNewProject] 
* = 
devs = rw 

이 난에 이전 프로젝트 경로를 유지 authz 파일 및 devs 항상 이름 바꾸기 전에 프로젝트의 기록을 읽을 수 있도록 읽기 권한이 부여됩니다.

루트에 대한 읽기 액세스 권한을 항상 부여한 다음 프로젝트 승인에서 * =으로 다시 가져와 strange svn copy issues을 해결합니다. 난 당신이 SVN을 호스팅하는 아파치를 사용하는 경우에만 관련이 의심됩니다.