
Git 서버를 설정 중인데 세 개의 서로 다른 그룹이 서로 다른 프로젝트를 진행하고 있습니다.iOS 시스템,웹 개발,기계적 인조 인간. 안전한 방법으로 이 작업을 수행해야 합니다.
동시에, 나는 iOS 개발자가 Android에서 상황을 변경할 수 있을 것이라고 기대하지 않으며 그 반대의 경우도 마찬가지입니다. 즉, 모든 그룹을 자신의 프로젝트로만 제한하고 싶습니다. (읽기 권한은 문제가 되지 않으나, 읽기 권한을 제한하는 방법을 알려주시면 감사하겠습니다)
개발자가 공개 키를 통해 SSH를 통해 풀/푸시/커밋을 사용할 수 있도록 서버를 구성하는 데 도움이 필요합니다. 단, 자신의 프로젝트에만 해당됩니다! 그들을 자신의 프로젝트 저장소 디렉토리에 가둘 수 있는 방법이 있습니까? 예를 들어, 사용자 X가 공개 키를 갖고 있거나 x_id_rsa.pub
요청이 [email protected]:~/git/iOS
데이터를 푸시하거나 가져오려고 시도할 때마다 해당 데이터를 iOS에 가둬야 한다고 말할 수 있는 방법이 있나요 ?
마지막 질문은 SELinux를 통해 각 저장소 디렉터리에 대해 다양한 유형의 정책을 어떻게 사용할 수 있느냐는 것입니다.
저는 CentOS를 사용하고 있는데 여기에서 저의 실패하고 터무니없는 시도를 볼 수 있습니다.
- git이라는 사용자를 생성하고 git 사용자에게 3개의 그룹을 할당합니다.
- iOS 시스템
- 기계적 인조 인간
- 웹 개발
- 3개의 필수 디렉터리와 사용자를 생성했습니다.
chown git:$ProjectGroup $Dir
- 디렉토리 에 사용됩니다
chmod g+rwxs *
. - 비밀번호 확인 신뢰성을 거부하고 [Pubkey/RSA] 인증을 활성화하도록 sshd_conf를 변경했습니다.
- 생성
.ssh/authorized_keys
하고 넣습니다/home/git/
. git init --bare
git 사용자의 홈 디렉터리 아래의 모든 디렉터리(예: iOS, Android 및 WebDevel) 에 사용됩니다 .- 나는 이미 혼란스러워요!
자세히 설명해주시고, 바꿔야 할 점과 잘못된 점을 알려주세요. 나는 어떤 제안이라도 환영합니다.
모든 저장소를 그룹의 홈 디렉토리로 사용할 수 있습니까? 즉, iOS →$HOME=/home/git/iOS