Re: Git newbie question: permissions
- From
Samuel Tardieu <sam@rfc1149.net>
- Date
- Oct 9, 2008, 21:41 UTC
- Message-ID
- <2008-10-09-23-41-14+trackit+sam@rfc1149.net>
- In-Reply-To
- <1b5a37350810091320l72ae0a86m39db4258c9f4827e@mail.gmail.com>
>>>>> "Ed" == Ed Schofield <edschofield@gmail.com> 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/