diff options
Diffstat (limited to 'README.markdown')
-rw-r--r-- | README.markdown | 58 |
1 files changed, 48 insertions, 10 deletions
diff --git a/README.markdown b/README.markdown index de5eee6..949f2d7 100644 --- a/README.markdown +++ b/README.markdown @@ -1,14 +1,57 @@ -Parabola Hackers -================ +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 + +Clone hackers.git somewhere and add yours and other people's SSH pubkeys (at +least yours) to the authorized\_keys file, then commit. + +This step can be done in a single step with `make bootstrap` (or let the next +step do it). If you don't you won't be able to login later! + +Run `make PREFIX=/srv/git` as root, where *PREFIX* is the git root. Check the +Makefile itself to see other options. + +Now you can use `ssh git@host command arguments`, run the *help* command to +list commands and arguments available. + +## Host requirements + +You'll need `git-shell`, on Parabola it's on the *git* package. Also a working +ssh daemon with "AuthorizedKeysFile .ssh/authorized_keys" (default in most +installations). + +## Local configuration + +On your hacking user, you can add this to your *~/.ssh/config* + + Host git + HostName git_hostname_can_be_localhost + User git + +The repo URL will be *git:repo.git* or *ssh://gitPREFIX/repo.git*. ## How to add new keys -* Add your key to the authorized\_keys file. +* Add your key to the authorized\_keys file on your local clone * 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 +* Run `git format-patch HEAD-1` and send the generated patches to one of the + other hackers listed. ## How does this work? @@ -18,10 +61,5 @@ privileges for the git user. ## Is this insecure? -'git' is an unprivileged user. If you know how to skip this and gain access to +*git* is an unprivileged user. If you know how to skip this and gain access to our servers be kind and let us now ;) - -## Why? - -Gitosis broke once and was never fixed. We didn't need gitosis' granular -permissions anyway. Now Parabola hackers can add new hackers! |