X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=README;h=6eb4764351d09b927d6f3d024a861526ee8c0ab5;hb=HEAD;hp=a6045429a50f923d00617843e30e50bb242cad2b;hpb=bdafb792fd13b19c198cfd97908fde9b6dc5c29d;p=repo_shell.git diff --git a/README b/README index a604542..6eb4764 100644 --- a/README +++ b/README @@ -130,7 +130,7 @@ file as necesssary to allow access to the new repository. gitcreate is a helper script installed by make install. To create a new git repository, simply type: - sudo -u repo gitcreate + sudo -u repo gitcreate ["Short description"] Git repositories may be placed in subdirectories under {git_root}. A subdirectory may be part of . So, for example, if one wishes to @@ -145,6 +145,10 @@ subdirectory paths, add the -y option: sudo -u repo gitcreate -y mirrors/tinyos/tinyos-main.git +If the optional extra argument is provided, it will be used to populate the +description file of the new repository. Because the script takes only one +argument for this purpose, enclose the description in double quotes. + = Configuring user accounts Each user to access repositories via client side tools need an account on the @@ -213,6 +217,34 @@ application use output from the repo_shell -c command to determine access. This command returns one of three results. An empty return string means no access, an "r" means read-only, and "rw" means read-write access. += Allow other users to create repositories + +With the following configuration, other users could be configured to run the +`gitcreate` command using sudo. + +First, run `visudo` as root to edit the `/etc/sudoers` file. These entries +should appear before less specific rules. The Runas_Alias REPOUSER should be +set to the value of the `owner` variable defined in `/etc/repo_shell.conf`. + + # Allow select users to run gitcreate + User_Alias REPOCREATORS = user1, user2, user3 + Runas_Alias REPOUSER = repo + REPOCREATORS ALL = (REPOUSER) NOPASSWD: /usr/local/bin/gitcreate + +Now any users listed in the User_Alias REPOCREATORS can run the gitcreate +command. The command would be invoked as follows: + + ssh + sudo -u repo gitcreate path/to/newrepo.git + +Note that as of right now, repo_shell cannot be used to run this command in a +single ssh invocation, such as: + + ssh sudo gitcreate path/to/newrepo.git + +This is because repo_shell does not implement a full tty needed by sudo if it +must ask the user for a password to authenticate the action. + = References and links repo_shell owes great thanks to work shared by two other projects: