On Sun, Jun 16, 2024, at 3:30 AM, Guus Snijders wrote:
Op zo 16 jun. 2024 10:42 schreef David C. Rankin <drankinatty@gmail.com>:
[···] On the server the repositories under /srv/git were owned david:david (me). However, after the git change, git refused to serve over https unless the directories under /srv/git were owned by http.
Fine, change made - but now repos cloned read/write over ssh fail because the directory under /srv/git is no longer owned by me.
How do you make git repositories hosted on my local server allow clone/pull over https AND allow me to still close read/write over ssh? [...] unless /srv/git/xxx.git is http:http, https fails
unless /srv/git/xxx.git is david:http, ssh fails
Have you tried using http:david instead? And make sure the files are group-writable.
I haven't tested this, but this seems to answer all the mentioned constraints.
Mvg, Guus Snijders
You could try using something like bindfs (https://bindfs.org/) to bind mount /srv/git somewhere else with different permissions. Based on the man page it looks like you could do something like `bindfs --map http/git --map-group http/git /srv/git /srv/git-http`, then point apache to /srv/git-http instead of /srv/git.