add some documentation about how to safely allow multiple committers to an
authorJoey Hess <joey@kitenet.net>
Tue, 27 Nov 2007 17:41:18 +0000 (12:41 -0500)
committerJoey Hess <joey@kitenet.net>
Tue, 27 Nov 2007 17:41:18 +0000 (12:41 -0500)
ikiwiki git repository

doc/rcs/git.mdwn
doc/security.mdwn

index 504ded17ae31e8479d203cbaef1bd8452dff1381..0353d153558efd93c7f9403782996be7e8f028da 100644 (file)
@@ -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.)
index a1c2120ce9abd34287c4e53dc495c007d1da8782..34f820f6e34477bb43f10651a8275daa1a7e3198 100644 (file)
@@ -49,11 +49,11 @@ this.
 
 ## multiple accessors of wiki directory
 
-If multiple people can write to the source directory ikiwiki is using, or
-to the destination directory it writes files to, then one can cause trouble
-for the other when they run ikiwiki through symlink attacks.
+If multiple people can directly write to the source directory ikiwiki is
+using, or to the destination directory it writes files to, then one can
+cause trouble for the other when they run ikiwiki through symlink attacks.
 
-So it's best if only one person can ever write to those directories.
+So it's best if only one person can ever directly write to those directories.
 
 ## setup files