이 저장소는 오래 전에 만들었고 당시에는 유일한 사용자였습니다. 이제 다른 사용자를 추가해야 하므로 사용자 그룹을 만들고 여기에 두 사용자를 추가한 후 다음을 수행했습니다.
chmod -R user1:usergroup svnrepo/*
chown -R 0770 svnrepo/*
svnrepo/db/current
이제 우리 둘 다 업데이트하고 커밋할 수 있지만 문제는 우리 중 한 사람이 커밋하면 분명히 소유자(커밋한 사용자)가 변경되고 다른 사람은 내가 수동으로 설정할 때까지 저장소에 대한 액세스 권한을 잃게 된다는 것입니다. 올바른 권한. 또 주인님.
이 문제를 해결하는 방법을 알고 있나요? 이거 엄청 짜증나는데...
답변1
나는 이것이 SVN 저장소에 대한 액세스를 공유하는 데 권장되는 방법이라고 생각하지 않습니다. 이 file:///
프로토콜을 사용하여 저장소에 액세스하고 있는데 일반적으로 권장되지 않습니다. 다음 제목의 StackOverflow Q&A를 참조하세요.Windows 네트워크 공유의 svn 저장소.
file:// 액세스는 특히 테스트 및 디버깅을 위한 로컬 단일 사용자 액세스 전용입니다. 저장소를 공유하려면 적절한 서버를 설정해야 하는데 생각보다 어렵지 않습니다. 읽다"액세스 저장소"라는 섹션서버 선택 및 설정에 대한 안내입니다.
다 똑같아이 보기는 SVN Bean Book에 반영됩니다..
모든 사용자가 file:// URL을 통해 직접 저장소에 액세스할 수 있도록 한다는 단순한 아이디어에 현혹되지 마십시오. 모든 사람이 네트워크 공유를 통해 저장소에 쉽게 액세스할 수 있다고 해도 이는 좋지 않은 생각입니다. 이는 사용자와 저장소 사이의 모든 보호 계층을 제거합니다. 사용자가 실수로(또는 의도적으로) 저장소 데이터베이스를 손상시켜 검사 또는 업그레이드를 위해 저장소를 오프라인으로 전환하기 어렵게 만들고 혼란스러운 파일 권한 문제를 일으킬 수 있습니다(참조:"여러 저장소 액세스 방법 지원" 섹션). 이것이 svn+ssh:// URL을 통해 저장소에 액세스하지 말라고 경고하는 이유 중 하나입니다. 보안 관점에서 이는 사실상 file://을 통한 로컬 사용자 액세스와 동일하며 모두 동일한 문제를 가져올 수 있습니다. 관리자는 조심하지 않습니다.
SO Q&A를 읽어보세요. 이를 수행하는 데 문제가 있어 저장소가 손상되었다고 증언한 사람들이 많이 있습니다.
실제 데몬을 설정 svnserve
하고 저장소에 대한 액세스를 제어하도록 하는 것이 더 좋습니다. 설정하는 것은 매우 간단합니다.
답변2
svnserve를 설정하고 svn:// 또는 ssh+svn://을 통해 저장소에 액세스하는 것이 좋습니다.
또는 file:// 방법을 계속 사용하려면 귀하와 귀하의 친구가 동일한 그룹에 있는지 확인하고 설정된 그룹 권한을 사용하도록 repo 디렉터리를 설정하십시오.
usermod -a -G <group> <user>
chgrp <group> /path/to/repo
chmod 2770 /path/to/repo
이렇게 하면 생성된 모든 새 파일이 그룹 권한을 상속하고 파일 시스템 권한 문제를 완화하는 데 도움이 됩니다.