]> oss.titaniummirror.com Git - repo_shell.git/blobdiff - README
change_user() correctly reports user on error
[repo_shell.git] / README
diff --git a/README b/README
index 14db116d35606c399de95841e6275edc0a4cedbd..33cb71c7e92ebb2ea1f7497862962bce8a5487db 100644 (file)
--- a/README
+++ b/README
@@ -25,14 +25,16 @@ server, only using the git or subversion client side tools.
 Please build from a repository clone, as the make script uses
 'git describe --tags' to generate the resulting executable's version string.
 
-= Configure /etc/repo_shell.cfg
+= Configure /etc/repo_shell.conf
 
-The file /etc/repo_shell.cfg must contain certain fields:
+The file /etc/repo_shell.conf must contain certain fields as shown in the
+example below.  The spaces surrounding the equal sign ('=') are optional.
 
-    owner=repo
-    svn_root=/var/lib/svn/repositories
-    git_root=/var/lib/git
-    git_acl_file=/var/lib/git/.gitacls
+    owner = repo
+    svn_root = /var/lib/svn/repositories
+    git_root = /var/lib/git
+    git_acl_file = /var/lib/git/.gitacls
+    allowed_interactive =
 
 owner is the system account username which will own all repositories, and is
 preferaby a system account used for no other purpose.  Use the adduser or
@@ -46,14 +48,21 @@ git_acl_file is the pathname of a file providing ACL information for git
 repository access, as implemented internally bit repo_shell.  A recommended
 pathname is /var/lib/git/.gitacls
 
+allow_interactive contains a list of users that may log into the server via SSH,
+or that may issue arbitrary commands to the server via SSH.  Instead of a list,
+the wildcard character '*' can be used to indicate all users.  Note that this
+only affects users that have /usr/local/bin/repo_shell as their login shell.
+If the server is only hosting repositories, there is no reason for users to be
+allowed 'interactive' access.
+
 = Create owner and paths
 
-In accordance with the contents of /etc/repo_shell.cfg:
+In accordance with the settings in /etc/repo_shell.conf:
 
-    adduser --system --group repo --home /var/lib/svn \
-       --shell /usr/local/bin/repo_shell repo
-    sudo install -d -o repo -g repo -m 0755 /var/lib/svn/repositories
-    sudo install -d -o repo -g repo -m 0755 /var/lib/git
+    adduser --system --group <owner> --home /var/lib/svn \
+       --shell /usr/local/bin/repo_shell <owner>
+    sudo install -d -o <owner> -g <owner> -m 0755 <svn_root>
+    sudo install -d -o <owner> -g <owner> -m 0755 <git_root>
 
 = Configure subversion repository ACLs
 
@@ -125,7 +134,7 @@ both subversion and git repositories.
 
 Users interact with subversion and git repositories using what we somewhat
 incorrectly call access paths.  In both cases, the access path is relative to
-the respective repository type root, as defined in /etc/repo_shell.cfg.  In
+the respective repository type root, as defined in /etc/repo_shell.conf.  In
 other words, the user does not need to know where the repository is stored.  In
 the case of git, a repository can be under a subdirectory.  A couple of
 examples: