From: Samuel Tardieu Date: Thu, 09 Oct 2008 21:41:14 GMT Subject: Re: Git newbie question: permissions Message-ID: <2008-10-09-23-41-14+trackit+sam@rfc1149.net> In-Reply-To: <1b5a37350810091320l72ae0a86m39db4258c9f4827e@mail.gmail.com> >>>>> "Ed" == Ed Schofield writes: Ed> I have now run "git --bare init --shared=group" to reinitialize Ed> the repository. This seems to have changed the directories to be Ed> g+sx. (Is this all it did?). There are still some objects Ed> directories with 755 permissions rather than 770, which I presume Ed> I want, and the group ownership of these is wrong. Shall I change Ed> these by hand? The sha1 files all have 444 permissions; is this Ed> right? Ed> The last question I have is how to ensure that git creates object Ed> files etc. with the right permissions when users push in future. As Marc said, you should first make sure that "config" contains "sharedrepository = 1" in the "[core]" section. Then you can do the following: - remove all permissions for "others": chmod -R o-rwx . - mirror "user" permissions to "group": chmod -R g=u . - add +s flag to directories: find . -type d | xargs chmod g+s This should fix your current situation. The "sharedrepository = 1" will tell git to maintain a proper shared state in the future on objects it creates (i.e. mirror "user" permission to "group" ones). Sam -- Samuel Tardieu -- sam@rfc1149.net -- http://www.rfc1149.net/