방금 cvs 파일 저장소를 한 서버에서 다른 서버로 마이그레이션했습니다.
테스트하기 위해 파일을 체크아웃하고 변경한 다음 커밋했습니다.
소유자/그룹이 "cvs/cvs"에서 "MyAccount/SomethingElseAccount"로 변경되었습니다.
최소한 "MyAccount/cvs"가 필요합니다.
- 나는 무엇을 기대해야 합니까?
- 이 문제를 해결해야 합니까? 아니면 괜찮나요?
- 정상이 아닌 경우 어떻게 해결할 수 있나요?
고쳐 쓰다
댓글을 토대로 사용자 ID를 확인해 봤습니다. 결과는 "=" 다음의 같은 줄에 있습니다.
id -u cvs = 60000
id -g cvs = 60000
id -G cvs = 600000 20 40
id -u MyAccount = 200007
id -g MyAccount = 200002
id -G MyAccount = 200002 60000 100005 100025
id -u SomeoneElseAccount = 200002
id -g SomeoneElseAccount = 200002
id -G SomeoneElseAccount = 200002 100678
또한 "AnotherUser"가 체크아웃하고 커밋하도록 했습니다. 그의 파일도 "SomeoneElseAccount" 그룹에 포함되었습니다.
id -u AnotherUser = 200018
id -g AnotherUser = 200002
id -G AnotherUser = 200002 60000 100005 100025
이전 서버의 설정에서는 200002와 유사한 ID 구성을 제공했지만 cvs는 "100"으로 있었고 프로젝트는 "cvs" 그룹으로 제출되었습니다.
/etc/group 확인
기존 서버
cat /etc/group
...
cvs:!:200002:name,name,name,MyAccount,AnotherUser,name,name...
...
새 서버
cat /etc/group
...
cvs:!:60000:name,name,name,MyAccount,AnotherUser,name,name...
...
답변1
버그는 마지막 업데이트에서 분명했습니다.
선...
id -g 내계정=200002
그리고...
id -g 다른 사람 계정 = 200002
..동일한 ID를 가져서는 안 됩니다. 댓글에서 지적했듯이 이는 /etc/passwd
파일의 버그입니다.
/etc/group
이전 시스템과도 일치하도록 이 파일을 조정하는 것이 좋습니다 .