모든 사람이 "gitolite에 쓰기 가능"하게 하려면 어떻게 해야 합니까?

모든 사람이 "gitolite에 쓰기 가능"하게 하려면 어떻게 해야 합니까?

나는 클라이언트가 쓰기 제어권을 갖고 있는 모든 브랜치(또는 적어도 저장소)를 잠글 수 있기를 바랍니다. gitolite writable off그것이 하는 일인 것 같습니다. 하지만 권한을 얻을 수 없습니다.

$ ssh [email protected] writable testing off
FATAL: you are not authorized

일반 사용자는 이 작업을 수행할 수 있는 권한을 어떻게 얻나요? 클라이언트에는 이미 공개 키가 있고 gitolite-admin/keydirRW+ 권한이 있습니다 testing.

답변1

따라서 동료가 즐겨 말했듯이 소스 코드는 최고의 문서입니다.

gitolite/src/commands/writable:
_die "you are not authorized" if $ENV{GL_USER} and not( owns($repo) or is_admin() or ( can_write($repo) and $op eq 'status' ) );

따라서 저장소에 대한 쓰기를 잠그려면 관리자이거나 저장소를 소유해야 합니다. 환매를 한다는 것은 무엇을 의미합니까?

src/lib/Gitolite/Easy.pm:
return ( creator($r) eq $user or $rc{OWNER_ROLENAME} and in_role( $rc{OWNER_ROLENAME}, $r ) );

따라서 저장소를 생성했거나(실행 불가능) gitolite-admin/conf/gitolite.conf소유자로 나열되어 있어야 합니다.

  • 어떻게 등록하나요?모두사용자를 소유자로 사용하시겠습니까?
  • 이로 인해 일부 보안 허점이 발생할 수 있습니까?

이것이 나의 현재 상황입니다. $ find gitolite | xargs grep OWNER_ROLENAME반환된 문자열은 다른 파일에서 언급된 적이 없으며 진주라고 말하지 않을 것입니다 :(

또한 /home/git/.gitolite.rc두 가지 역할만 나열 READERS됩니다 WRITERS.

관련 정보