git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Git-daemon messing up permissions for gitweb

From
Junio C Hamano <junkio@cox.net>
Date
Jun 9, 2006, 19:51 UTC
Message-ID
<7v1wtynm4k.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<5A14AF34CFF8AD44A44891F7C9FF41050795782F@usahm236.amer.corp.eds.com>
"Post, Mark K" <mark.post@eds.com> writes:
Show 5 quoted lines
> I'm trying to set up a git repository for mainframe Linux developers to
> use at git390.osdl.marist.edu.  Everything _seemed_ to go well, until
> Martin Schwidefsky started actually pushing changes back to the
> repository.  When he does that, the projects disappear from the web page
> that gitweb.cgi is generating.
Show 7 quoted lines
> As far as I can tell, the problem is happening because these files are
> being written out with file permissions of 640, and since Apache is
> running as user wwwrun, it can't read them:
> -rw-r-----  1 sky git  5490 Jun  9 03:35 ./linux-2.6.git/info/refs
> -rw-r-----  1 sky git    54 Jun  9 03:35
> ./linux-2.6.git/objects/info/packs
> -rw-r-----  1 sky git    41 Jun  9 03:35

First of all, it is not git-daemon that is updating these refs. The daemon is a read only facility.

And you have checked the suggestion by Linus to set the umask to world readable, which brings me to the next question.

How did Martin actually "push changes back"?

Was it over git protocol over SSH, or the webdav thing over http push? The comment by Linus is about the former and I do not know offhand who webdav thing runs as or how it handles the permissino bits.

It could be that your ssh daemon installation bypasses .bashrc and uses its own .ssh/environment, in which case your user would may need to do umask there as well.

Previous: Junio C Hamano
Message 5 of 5 in “Git-daemon messing up permissions for gitweb”
  1. Post, Mark KJun 9, 2006
  2. Jakub NarebskiJun 9, 2006
  3. Linus TorvaldsJun 9, 2006
  4. Junio C HamanoJun 9, 2006
  5. Junio C HamanoJun 9, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.