aboutsummaryrefslogtreecommitdiff
path: root/doc/rcs
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2007-11-27 12:41:18 -0500
committerJoey Hess <joey@kitenet.net>2007-11-27 12:41:18 -0500
commitcb777df0415cfad80a3725387b5fdbf5c95b8941 (patch)
treedb8065340a28f38e6c9fecbe362e4d4761435890 /doc/rcs
parentd75e4ee12c73d5644df0ca0c368a3bcc2c9d05e2 (diff)
downloadikiwiki-cb777df0415cfad80a3725387b5fdbf5c95b8941.tar
ikiwiki-cb777df0415cfad80a3725387b5fdbf5c95b8941.tar.gz
add some documentation about how to safely allow multiple committers to an
ikiwiki git repository
Diffstat (limited to 'doc/rcs')
-rw-r--r--doc/rcs/git.mdwn19
1 files changed, 19 insertions, 0 deletions
diff --git a/doc/rcs/git.mdwn b/doc/rcs/git.mdwn
index 504ded17a..0353d1535 100644
--- a/doc/rcs/git.mdwn
+++ b/doc/rcs/git.mdwn
@@ -28,3 +28,22 @@ the bare repository, using either the `git` transport (if available), or
`ssh`.
The ikiwiki `post-commit` hook should be put in the bare repository.
+
+## git repository with multiple committers
+
+It can be tricky to get the permissions right to allow multiple people to
+commit to an ikiwiki git repository. As the [[security]] page mentions,
+for a secure ikiwiki installation, only one person should be able to write
+to ikiwiki's srcdir. When other committers make commits, their commits
+should go to the bare repository, which has a `post-update` hook that uses
+ikiwiki to pull the changes to the srcdir.
+
+One setup that will work is to put all committers in a group (say,
+ikiwiki), and use permissions to allow that group to commit to the bare git
+repository. Make both the post-update hook and ikiwiki.cgi be setgid
+to the group, as well as suid to the user who admins the wiki. The
+`wrappergroup` [[setup_file_option|usage]] can be used to make the wrappers
+be setgid to the right group. Then the srcdir, including its git
+repository, should only be writable by the wiki's admin, and *not* by the
+group. Take care that ikiwiki uses a umask that does not cause files in
+the srcdir to become group writable. (umask 022 will work.)