CVS를 새 서버로 마이그레이션 - cvs가 아닌 이상한 그룹 이름으로 파일이 제출되는 이유는 무엇입니까?

CVS를 새 서버로 마이그레이션 - cvs가 아닌 이상한 그룹 이름으로 파일이 제출되는 이유는 무엇입니까?

방금 cvs 파일 저장소를 한 서버에서 다른 서버로 마이그레이션했습니다.

테스트하기 위해 파일을 체크아웃하고 변경한 다음 커밋했습니다.

소유자/그룹이 "cvs/cvs"에서 "MyAccount/SomethingElseAccount"로 변경되었습니다.

최소한 "MyAccount/cvs"가 필요합니다.

  1. 나는 무엇을 기대해야 합니까?
  2. 이 문제를 해결해야 합니까? 아니면 괜찮나요?
  3. 정상이 아닌 경우 어떻게 해결할 수 있나요?

고쳐 쓰다

댓글을 토대로 사용자 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이전 시스템과도 일치하도록 이 파일을 조정하는 것이 좋습니다 .

관련 정보