tREADME.md - git-restrict - simple utility for git repo permission management
HTML git clone https://git.parazyd.org/git-restrict
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
tREADME.md (1185B)
---
1 git-restrict
2 ============
3
4 
5
6 A minimal utility that allows repository permission management based on
7 ssh keys when used with the command directive in ssh's authorized_keys
8 file.
9
10 If used, it will only allow `git-upload-pack` and `git-receive-pack` as
11 the commands allowed to be ran by a specific user/SSH key.
12
13 git-restrict is C99 portable and compiled as a static binary so it's
14 easy to use it in chroot environments. This is obviously intentional.
15
16
17 Basic usage
18 -----------
19
20 Set up SSH and a `git` user on a host machine that will serve the git
21 repositories. Ideally the repos should be stored in the user's `$HOME`.
22
23 After this, compile and install git-restrict and use something like
24 the following to set repo permissions for specific SSH keys:
25
26 ```
27 $ cat ~/.ssh/authorized_keys
28 command="/usr/bin/git-restrict repo0 repo1 repo2" ssh-ed25519 AAA...1 user0@machine
29 command="/usr/bin/git-restrict repo3 repo0" ssh-ed25519 AAA.Z user1@machine
30 ```
31
32 It is also useful to see the `contrib` directory to see an automation
33 example.
34
35
36 License
37 -------
38
39 GNU Affero General Public License version 3.