git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [BUG?] How to make a shared/restricted repo?
@ 2009-03-25  0:05 Johan Herland
  2009-03-25  0:26 ` Brandon Casey
  2009-03-25  0:46 ` Junio C Hamano
  0 siblings, 2 replies; 30+ messages in thread
From: Johan Herland @ 2009-03-25  0:05 UTC (permalink / raw)
  To: git

Hi,

Some colleagues of mine are working on a "secret" project, and they want to 
create a central/server/integration repo that should be group-writable, but 
not at all accessible to anybody outside the group (i.e. files should be 
0660 ("-rw-rw----"), dirs should be 0770 ("drwxrws---")).

I started setting this up for them in the following manner:

  mkdir foo.git
  cd foo.git
  git init --bare --shared=group
  cd ..
  chgrp -R groupname foo.git
  chmod -R o-rwx foo.git

...and everything looks good, initially...

However, when I start pushing into this repo, the newly created files are 
readable to everybody (files are 0664 ("-rw-rw-r--"), dirs are 0775 
("drwxrwsr-x")).

Instead of "git init --bare --shared=group", I've tried using
  git init --bare --shared=0660
and even
  git init --bare &&
  git config core.sharedRepository 0660
but the result is still the same.

After reading the "--shared" section in the "git init" man page, this 
behaviour is unexpected, and after reading the "core.sharedRepository" 
section in the "git config" man page, the current behaviour is IMHO outright 
_wrong_. Quoting the "git config" man page:

  core.sharedRepository
    [...] When 0xxx, where 0xxx is an octal number, files in the repository
    will have this mode value. 0xxx will override user’s umask value, and
    thus, users with a safe umask (0077) can use this option. [...]

AFAICS, even when I set "core.sharedRepository" to 0660, files are still 
created 0664, which is not what the documentation indicates.

Are there other ways to create such shared-but-restricted repositories?


Have fun! :)

...Johan

-- 
Johan Herland, <johan@herland.net>
www.herland.net

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2009-03-29 20:33 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-03-25  0:05 [BUG?] How to make a shared/restricted repo? Johan Herland
2009-03-25  0:26 ` Brandon Casey
2009-03-25  0:45   ` Johan Herland
2009-03-25  0:49   ` Junio C Hamano
2009-03-25  0:46 ` Junio C Hamano
2009-03-25  2:11   ` Johan Herland
2009-03-25  2:24     ` Junio C Hamano
2009-03-25 21:36       ` [PATCH/RFC 0/7] Restricting repository access (Was: [BUG?] How to make a shared/restricted repo?) Johan Herland
2009-03-25 21:37         ` [PATCH/RFC 1/7] Clarify documentation on permissions in shared repositories Johan Herland
2009-03-25 21:38         ` [PATCH/RFC 2/7] Cleanup: Remove unnecessary if-else clause Johan Herland
2009-03-25 21:39         ` [PATCH/RFC 3/7] Introduce core.restrictedRepository for restricting repository permissions Johan Herland
2009-03-25 21:39         ` [PATCH/RFC 4/7] git-init: Introduce --restricted for restricting repository access Johan Herland
2009-03-25 21:40         ` [PATCH/RFC 5/7] Add tests for "core.restrictedRepository" and "git init --restricted" Johan Herland
2009-03-25 21:41         ` [PATCH/RFC 6/7] git-init: Apply correct mode bits to template files in shared/restricted repo Johan Herland
2009-03-25 21:42         ` [PATCH/RFC 7/7] Apply restricted permissions to loose objects and pack files Johan Herland
2009-03-25 23:19       ` [BUG?] How to make a shared/restricted repo? Junio C Hamano
2009-03-26  0:22         ` Johan Herland
2009-03-26  7:23           ` Junio C Hamano
2009-03-26  8:29             ` Johan Herland
2009-03-26  8:41               ` Johannes Sixt
2009-03-26  9:44                 ` Johan Herland
2009-03-26  9:58                   ` Johannes Sixt
2009-03-26 15:02                     ` [PATCH 0/2] chmod cleanup (Was: [BUG?] How to make a shared/restricted repo?) Johan Herland
2009-03-26 15:16                       ` [PATCH 1/2] Move chmod(foo, 0444) into move_temp_to_file() Johan Herland
2009-03-28  6:14                         ` Junio C Hamano
2009-03-28 10:48                           ` Johan Herland
2009-03-26 15:17                       ` [PATCH 2/2] Resolve double chmod() in move_temp_to_file() Johan Herland
2009-03-28  6:21                         ` Junio C Hamano
2009-03-28 11:01                           ` Johan Herland
2009-03-29 20:31                             ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).