summaryrefslogtreecommitdiff
path: root/README.markdown
blob: bb721e2110daf44be604abc111eceb0030f724e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Hackers
=======

## What's this? Why?

Hackers is a simple git repository management tool. I started this for Parabola
GNU/Linux-libre when our gitosis broke and was never fixed. We didn't need
gitosis' granular permissions anyway.

Hackers.git allows for decentralized management, since any hacker added can add
new keys, own and others'.

It uses the git-shell to allow users to do git repository tasks (create a repo,
mirror one, etc.) using ssh to connect to the repository server.

## Install

Run `make PREFIX=/srv/git install` as root, where *PREFIX* is the git root.
Check the Makefile itself to see other options.

## How to add new keys

* Add your key to the authorized\_keys file.
* Change the key comment to the "Name <name@email.nu>" format (just for keeping
  it tidy)
* Commit
* Push if you have push privileges and you're adding a new hacker, or
* Run `git format-patch HEAD-1` and send the generated patches to Parabola

## How does this work?

There's a post-receive hook on the origin hackers.git repository that updates
a clone on ~/.ssh. Any change pushed to it is immediately reflected in access
privileges for the git user.

## Is this insecure?

'git' is an unprivileged user. If you know how to skip this and gain access to
our servers be kind and let us now ;)