aboutsummaryrefslogtreecommitdiffstats
path: root/readme.rst
diff options
context:
space:
mode:
Diffstat (limited to 'readme.rst')
-rw-r--r--readme.rst80
1 files changed, 80 insertions, 0 deletions
diff --git a/readme.rst b/readme.rst
new file mode 100644
index 0000000..f0dd8b5
--- /dev/null
+++ b/readme.rst
@@ -0,0 +1,80 @@
+Description
+===========
+
+This repository is a quick setup to allow readonly and readwrite access for
+git-only through ssh. It is simple but should be secure. You can review the
+script for security as it is really short.
+
+
+sudo adduser --home /home/git --no-create-home --shell /bin/sh --gecos 'git version control' --disabled-password git
+sudo mkdir /home/git
+sudo chown git:git /home/git
+sudo chmod 2770 /home/git
+sudo cp path/gitcmd /home/git/
+sudo gpasswd -a calendros git
+
+in /etc/ssh/sshd_config:
+
+Match User git
+ X11Forwarding no
+ AllowTcpForwarding no
+ AllowAgentForwarding no
+ PermitTunnel no
+ GatewayPorts no
+ PermitTTY no
+ Banner "Only git access allowed"
+ AuthorizedKeysFile /etc/ssh/git_keys
+
+in /etc/ssh/git_keys
+
+# usage: restrict,command="./gitcmd username" key
+# then create a ~git/username.listro for authorized repositories
+
+username.listro with username replaced with the username given at the gitcmd
+argument at the front of the ssh key contains a list of repositories
+directory for read-only access. username.listrw contains a list of read-write
+access.
+
+git directories are created with git init --bare <reponame>
+
+Example of directory structure:
+
+in /home/git:
+
+$ tree --dirsfirst -L 2
+.
+├── <reponame>
+│   ├── branches
+│   ├── hooks
+│   ├── info
+│   ├── objects
+│   ├── refs
+│   ├── HEAD
+│   ├── config
+│   └── description
+├── <username>.listrw
+├── <username>.listro
+├── create-repo
+└── gitcmd
+
+6 directories, 8 files
+
+License
+=======
+
+Unless specified otherwise, this project is licensed under the terms of the
+MIT license. You should have received a copy of the MIT License along with
+this program. If not, see <https://opensource.org/licenses/MIT>.
+
+SPDX-License-Identifier: MIT
+
+Copyright © 2016 vg <vg@devys.org>
+
+Contact
+=======
+
+developer
+ vg
+
+mail
+ vg@devys.org