To get access, set up SSH. Test it... Create a key and send it to the repository administrator.
Once the key is set up on the repository server, or you have the password, you can test SSH from your node to the server. To test:
Your umask should be something like 002 or 007. Check that you can access group wuf.
$ CVS_DOMAIN=wuf.systemics.org $ CVS_USER=your_name $ ssh -l $CVS_USER $CVS_DOMAIN pwd your_name@wuf.systemics.org's password: /home/your_name $ ssh -l $CVS_USER $CVS_DOMAIN cvs your_name@wuf.systemics.org's password: Usage: cvs [cvs-options] command [command-options-and-arguments] where cvs-options are -q, -n, etc. ...
(That example above asks for the password.) If you don't see the pwd or cvs output grumbling, it is not working.
This method is set up by the administrator to give an SSH/CVS only account for all users.
$ CVS_DOMAIN=wuf.systemics.org $ CVS_USER=webfunds-cvs $ ssh -l $CVS_USER $CVS_DOMAIN pwd webfunds-cvs@wuf.systemics.org's password: /home/webfunds-cvs $ ssh -l $CVS_USER $CVS_DOMAIN ls webfunds-cvs@wuf.systemics.org's password: smrsh: ls not available for sendmail programs (stat failed) $ ssh -l $CVS_USER $CVS_DOMAIN cvs webfunds-cvs@wuf.systemics.org's password: Usage: cvs [cvs-options] command [command-options-and-arguments] where cvs-options are -q, -n, etc. ...
Notes. That example above asks for the password; better if you can set up the SSH agent to deal with passwords. The initshell is set up to permit echo(1) and pwd(1) as test commands, try them as troubleshooting aids. If you don't see the cvs output grumbling in the last example, it is not working. If you can actually access ls(1) (as in the second example) or any other command other than cvs(1), then the security settings have broken, and you should contact the adminstrator.
To set up cvs, set your environment variable CVSROOT to
:ext:$CVS_USER@$CVS_DOMAIN:/home/webfunds-cvs/cvsroot
(Where the environment variables $CVS_USER $CVS_DOMAIN are as you discovered them in the previous section.) Change directory into where you want your local source copy, and try this command to get the readme.
$ cvs get README
Have a look at the README to see the location of projects. In README, for example, it tells you to use
$ cvs get java lib contracts
to obtain all of the WebFunds 3G source.
The developer's account will need to be added to the wuf group.
Refer to the doco on initshell. On Linux servers, add the initshell to /etc/shells and check all modes.
The login shell is set to smrsh. In the directory /etc/smrsh (for Linux) there are some programs that can be run. Primarily:
cvs(1) be set: mode=550 u=root g=smrshcvs to stop other smrsh(1) users accessing it (in this case, it should be a copy, not a symlink.)
In ~/.ssh stick the keys for key users (preferred over password). The umask should be something like 002 or 007.
More information on secure access to a repository is found here: Chrooted SSH CVS server HOW-TO.