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

Re: [RFC] Secure central repositories by UNIX socket authentication

From
Asheesh Laroia <asheesh@asheesh.org>
Date
Jan 28, 2008, 14:23 UTC
Message-ID
<alpine.DEB.1.00.0801280922160.3774@alchemy.localdomain>
In-Reply-To
<20080128075125.GC24004@spearce.org>
On Mon, 28 Jan 2008, Shawn O. Pearce wrote:
Show 34 quoted lines
> Junio C Hamano <gitster@pobox.com> wrote:
>> "Shawn O. Pearce" <spearce@spearce.org> writes:
>>
>>> Hmm.  core.sharedrepository is sometimes a bad solution.
>>>
>>> core.sharedrepository means I need to give write access to both the 
>>> refs database and the object database to all members of the project. 
>>> Some of whom may not be able to be trusted with tools like "rm", but 
>>> who need real shell access to that system anyway.  And sometimes 
>>> management won't allow users to have two accounts on the same system 
>>> (one that is fixed to git-shell, and one that has a real shell) 
>>> because the world would implode if a user was given two different 
>>> accounts for two different access purposes.
>>
>> Ok, that was the motiviation I did not get from your original message. 
>> It begins to make sense somewhat.
>>
>> Another approach to do the same I can think of, without having to add 
>> 50 new accounts for 50 users, would be to collect a ssh key from each 
>> of these 50 users, and have 1 line per user in the authorized_keys file 
>> of gitadmin.gitadmin user (who owns the repository with the paranoia 
>> hook that decides the authorization aspect of the repository).  The 
>> authentication would come from the environment="Name=value" option in 
>> the authorized_keys file. Each of your aunt tillies can push or fetch 
>> over ssh using the key she has in the gitadmin.gitadmin's 
>> authorized_keys file.
>
> Yea.  The downside to this is we have to maintain that authorized_keys 
> file.  Today each user can generate their own SSH key and upload to 
> their own authorized_keys file.
>
> I've had enough cases of users losing their SSH key and needing to 
> recreate it that I'd rather not have to manage a 50 user long 
> authorized_keys file.

For what it's worth, if you haven't seen gitosis yet, you might want to take a look - at least it makes managing the keys easy. http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way has a nice tutorial.

-- Asheesh.
-- 
He who despairs over an event is a coward, but he who holds hopes for
the human condition is a fool.
 		-- Albert Camus
Previous: Shawn O. PearceNext: Shawn O. Pearce
Message 14 of 16 in “[RFC] Secure central repositories by UNIX socket authentication”
  1. Shawn O. PearceJan 27, 2008
  2. Johannes SchindelinJan 27, 2008
  3. Shawn O. PearceJan 27, 2008
  4. Johannes SchindelinJan 27, 2008
  5. Shawn O. PearceJan 28, 2008
  6. Dmitry PotapovJan 28, 2008
  7. Junio C HamanoJan 27, 2008
  8. git-daemon is insecure? (was: [RFC] Secure central repositories)Shawn O. Pearce, Jan 28, 2008
  9. Junio C HamanoJan 28, 2008
  10. Shawn O. PearceJan 28, 2008
  11. Shawn O. PearceJan 28, 2008
  12. Junio C HamanoJan 28, 2008
  13. Shawn O. PearceJan 28, 2008
  14. Asheesh LaroiaJan 28, 2008
  15. Shawn O. PearceJan 29, 2008
  16. Shawn O. PearceJan 28, 2008

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.