chiark / gitweb /
Expunge revision histories.
[shells] / cvssh.1
CommitLineData
173be297 1.\" -*-nroff-*-
28e8164e 2.TH cvssh 1 "21 April 1999" "Local tools"
3.SH NAME
4cvssh \- quick shell for anonymous CVS servers
5.SH SYNOPSIS
6.B cvssh
7.SH DESCRIPTION
8The
9.B cvssh
10is intended to be used as the login shell of an anonymous CVS server
11account. It's not terribly useful in the outside world, because it
12requires a patched version of CVS which I haven't released.
13.SH ANONYMOUS CVS
14Suppose you want to set up a CVS repository in
15.B /home/cvs/cvs
16with the anonymous user
17.BR anoncvs .
18The following steps will get this done:
19.IP " 1."
20Make the directory
21.B /home/cvs
22owned by
23.B root
24with mode 755, and execute
25.sp 1
26.RS 10
27.nf
28.ft B
29cvs -d /home/cvs/cvs init
30.ft R
31.fi
32.RE
33.IP ""
34to create the repository.
35.IP " 2."
36Add a user
37.B anoncvs
38with a disabled password, shell set to
39.B chrootsh
40and home directory set to
41.BR /home/cvs/./cvs .
42.IP " 3."
43As the super-user, run the following commands:
44.PP
45.RS 10
46.nf
47.ft B
48# cd /home/cvs
49# mkdir -m 711 bin dev etc lib
50# mkdir -m 1777 tmp
51.ft R
52.fi
53.RE
54.IP ""
55You may need some other directories as well. For example, Digital Unix
56users will want to make
57.B shlib
58and
59.B sbin
60for the shared library system to work properly.
61.IP " 4."
62Copy the programs
63.BR cvs ,
64.B gzip
65and
66.B sh
67into
68.BR /home/cvs/bin .
69If your version of
70.B /bin/sh
71is really the Free Software Foundation's
72.B bash
73in disguise (e.g., you're a Linux user) then you're probably better off
74installing something lighter-weight like the FreeBSD shell (available in
75a guise called
76.B ash
77with Debian GNU/Linux). It's smaller and doesn't need as many shared
78libraries.
79.IP ""
80Also copy in the
81.B cvssh
82binary.
83.IP " 5."
84Copy in the shared libraries needed. If you have an
85.B ldd
86binary handy, run
87.sp 1
88.RS 10
89.nf
90.ft B
91# ldd bin/*
92.ft R
93.fi
94.RE
95.IP ""
96and copy in what it tells you to. Otherwise you'll have to find things
97out the hard way by looking at error messages. Do any other
98configuration your shared library system needs or desires here. For
99example, Linux users should run
100.sp 1
101.RS 10
102.nf
103.ft B
e20bb108 104# ldconfig -r/home/cvs
28e8164e 105.ft R
106.fi
107.RE
108.IP ""
109to make a cache file for the shared loader.
110.IP " 6."
111Make any devices needed in the
112.B /dev
113directory. For Linux, that probably involves
114.sp 1
115.RS 10
116.nf
117.ft B
118# mknod -m666 dev/null c 1 3
119# mknod -m666 dev/zero c 1 5
120.ft R
121.fi
122.RE
123.IP ""
124Other operating systems will, of course, be different.
125.IP " 7."
126Edit the password and group files the
127.B etc
128directory. My versions are extremely minimal. The important thing is
129that the
130.B anoncvs
131user should have an entry like the one in the main password database but
132with home directory
133.B /cvs
134and shell
135.BR /bin/cvssh .
136The
137.B passwd
138file should contain no passwords or other useful information. Only put
139other users in the files if you really feel like it.
140.IP " 8."
141Finishing touches. Run the command
142.sp 1
143.RS 10
144.nf
145.ft B
146# touch cvs/.hushlogin
147.ft R
148.fi
149.RE
150.IP ""
151to make sure that logging in doesn't spew junk everywhere.
152Also, if you're planning on using SSH, do
153.sp 1
154.RS 10
155.nf
156.ft B
157# mkdir cvs/.ssh
158# touch cvs/.ssh/rc
159.ft R
160.fi
161.RE
162.IP ""
163to make SSH stop trying to play silly games with
164.BR xauth .
165.IP " 9."
166Relax. You're done.
167.SH BUGS
168None planned.
169.SH "SEE ALSO"
170.BR chrootsh (8),
171.BR cvs (1).
172.SH AUTHOR
173Mark Wooding (mdw@nsict.org)